From 97dd394ce1ddf00cc80dfdaad71767fdbc85af47 Mon Sep 17 00:00:00 2001 From: Chris R Date: Mon, 2 Nov 2026 21:09:26 +1100 Subject: [PATCH] Record same-build generated GCC configuration data and bounded parser --- .../ARTIFACTS.json | 2675 +++ .../EXPORT-CHECK-ONLY.txt | 1 + .../EXPORT-PURE-TESTS.txt | 73 + .../EXPORT-VALIDATION.json | 80 + .../EXPORT-WORDING-CORRECTION.json | 9 + .../h25-gcc-generated-config-data/NOTICE.md | 9 + .../h25-gcc-generated-config-data/README.md | 36 + .../SOURCE-ORIGIN.json | 4231 ++++ .../SOURCES.json | 18 + .../h25-gcc-generated-config-data/TASK.json | 66 + .../h25-gcc-generated-config-data/VERIFY.json | 32 + .../evidence/EMBEDDED-CONFIGURATION-v1.json | 10 + research/h25-gcc-generated-config-data/run.py | 28 + .../BINARY-PACKAGE-CONTROL-v1.json | 23 + .../BINARY-PACKAGE-CORRESPONDENCE-v1.json | 89 + .../BINARY-PACKAGE-MEMBERS-v1.json | 62 + .../BUILDINFO-CHANGES-ACQUISITION-v1.json | 46 + .../LAUNCHPAD-EXACT-BUILD-ACQUISITION-v1.json | 44 + ...BLISHER-BUILD-CHECKSUM-ASSOCIATION-v1.json | 153 + ...13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo | 756 + ...c-13_13.3.0-6ubuntu2~24.04.1_amd64.changes | 464 + .../unit03/REPAIR-WINDOW-v1.json | 14 + .../unit03/SOURCE-CLOSE-v1.json | 40 + .../unit03/gcc/DERIVATION-v2.md | 21 + .../unit03/gcc/FREEZE-v2.json | 138 + .../gcc/GENERATED-CONFIGURATION-VIEW-v1.json | 2314 ++ .../gcc/GENERATED-CONFIGURATION-VIEW-v2.json | 2339 ++ .../unit03/gcc/REVIEW-HOLD-v1.json | 47 + .../gcc/SOURCE-PROJECTION-COMPARISON-v1.json | 30 + .../unit03/gcc/TEST-NORMAL-repair-v2.txt | 35 + .../unit03/gcc/TEST-OPTIMIZED-repair-v2.txt | 35 + .../unit03/gcc/configured_data_v1.py | 197 + .../unit03/gcc/generated_config_v1.py | 319 + .../unit03/gcc/header-member-pins-v1.json | 3311 +++ .../GENERATED-CONFIGURATION-VIEW-v1.json | 2314 ++ .../SOURCE-PROJECTION-COMPARISON-v1.json | 30 + .../gcc/pre-review-v1/configured_data_v1.py | 197 + .../gcc/pre-review-v1/generated_config_v1.py | 286 + .../pre-review-v1/header-member-pins-v1.json | 3311 +++ .../pre-review-v1/test_configured_data_v1.py | 225 + .../unit03/gcc/repair_metadata_v2.py | 78 + .../unit03/gcc/test_configured_data_v1.py | 264 + .../ACQUISITION-network-v2.json | 35 + .../source-artifacts/ACQUISITION-v1.json | 20 + .../EXTRACTION-ATTEMPT-v1.json | 6 + .../source-artifacts/INPUT-GATE-v1.json | 207 + .../LICENSE-PROVENANCE-v1.json | 19 + .../LICENSE-PROVENANCE-v2.json | 14 + .../PLUGIN-AR-MEMBERS-v1.json | 26 + .../PLUGIN-AR-MEMBERS-v2.json | 38 + .../PLUGIN-CHECKSUM-ASSOCIATION-v1.json | 9 + .../source-artifacts/PLUGIN-PAYLOAD-v1.json | 14872 ++++++++++++ .../source-artifacts/PLUGIN-PAYLOAD-v2.json | 14947 ++++++++++++ ...ugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb | Bin 0 -> 1451870 bytes .../GCC-Runtime-Library-Exception.txt | 73 + .../licenses/GPL-3-standard-text | 674 + .../licenses/GPL-3.0-gcc-source.txt | 674 + .../licenses/gcc-13-debian-copyright | 1532 ++ .../source-artifacts/plugin-members/control | 15 + .../source-artifacts/plugin-members/md5sums | 475 + .../include/ada/gcc-interface/ada-tree.def | 83 + .../13/plugin/include/addresses.h | 90 + .../13/plugin/include/alias.h | 51 + .../13/plugin/include/align.h | 83 + .../13/plugin/include/all-tree.def | 8 + .../13/plugin/include/alloc-pool.h | 576 + .../13/plugin/include/ansidecl.h | 354 + .../13/plugin/include/array-traits.h | 48 + .../x86_64-linux-gnu/13/plugin/include/asan.h | 264 + .../13/plugin/include/attr-fnspec.h | 304 + .../13/plugin/include/attribs.h | 401 + .../13/plugin/include/auto-host.h | 2722 +++ .../13/plugin/include/auto-profile.h | 31 + .../13/plugin/include/b-header-vars | 95 + .../13/plugin/include/backend.h | 35 + .../13/plugin/include/basic-block.h | 642 + .../13/plugin/include/bb-reorder.h | 40 + .../13/plugin/include/bitmap.h | 1089 + .../13/plugin/include/builtin-attrs.def | 427 + .../13/plugin/include/builtin-types.def | 1062 + .../13/plugin/include/builtins.def | 1190 + .../13/plugin/include/builtins.h | 160 + .../13/plugin/include/bversion.h | 4 + .../13/plugin/include/c-family/c-common.def | 96 + .../13/plugin/include/c-family/c-common.h | 1587 ++ .../13/plugin/include/c-family/c-objc.h | 183 + .../13/plugin/include/c-family/c-pragma.h | 286 + .../plugin/include/c-family/c-pretty-print.h | 142 + .../13/plugin/include/c-tree.h | 911 + .../13/plugin/include/calls.h | 138 + .../x86_64-linux-gnu/13/plugin/include/ccmp.h | 25 + .../13/plugin/include/cfg-flags.def | 191 + .../x86_64-linux-gnu/13/plugin/include/cfg.h | 186 + .../13/plugin/include/cfganal.h | 90 + .../13/plugin/include/cfgbuild.h | 28 + .../13/plugin/include/cfgcleanup.h | 35 + .../13/plugin/include/cfgexpand.h | 28 + .../13/plugin/include/cfghooks.h | 289 + .../13/plugin/include/cfgloop.h | 936 + .../13/plugin/include/cfgloopmanip.h | 63 + .../13/plugin/include/cfgrtl.h | 62 + .../13/plugin/include/cgraph.h | 3589 +++ .../13/plugin/include/cif-code.def | 144 + .../13/plugin/include/collect-utils.h | 51 + .../13/plugin/include/collect2-aix.h | 306 + .../13/plugin/include/collect2.h | 39 + .../13/plugin/include/color-macros.h | 108 + .../include/common/config/i386/i386-cpuinfo.h | 273 + .../13/plugin/include/conditions.h | 69 + .../13/plugin/include/config.h | 10 + .../13/plugin/include/config/elfos.h | 484 + .../13/plugin/include/config/glibc-stdint.h | 64 + .../13/plugin/include/config/gnu-user.h | 159 + .../13/plugin/include/config/i386/att.h | 91 + .../13/plugin/include/config/i386/biarch64.h | 29 + .../include/config/i386/gnu-user-common.h | 73 + .../plugin/include/config/i386/gnu-user64.h | 99 + .../plugin/include/config/i386/i386-isa.def | 119 + .../13/plugin/include/config/i386/i386-opts.h | 137 + .../plugin/include/config/i386/i386-protos.h | 412 + .../13/plugin/include/config/i386/i386.h | 2899 +++ .../plugin/include/config/i386/linux-common.h | 68 + .../13/plugin/include/config/i386/linux64.h | 39 + .../plugin/include/config/i386/stringop.def | 28 + .../13/plugin/include/config/i386/unix.h | 80 + .../13/plugin/include/config/i386/x86-64.h | 91 + .../plugin/include/config/i386/x86-tune.def | 702 + .../13/plugin/include/config/initfini-array.h | 45 + .../13/plugin/include/config/linux-android.h | 59 + .../13/plugin/include/config/linux-protos.h | 22 + .../13/plugin/include/config/linux.h | 215 + .../13/plugin/include/config/vxworks-dummy.h | 48 + .../13/plugin/include/configargs.h | 7 + .../13/plugin/include/context.h | 69 + .../13/plugin/include/convert.h | 45 + .../13/plugin/include/coretypes.h | 495 + .../13/plugin/include/coroutine-builtins.def | 53 + .../13/plugin/include/coverage.h | 61 + .../13/plugin/include/cp/contracts.h | 305 + .../13/plugin/include/cp/cp-trait.def | 108 + .../13/plugin/include/cp/cp-tree.def | 600 + .../13/plugin/include/cp/cp-tree.h | 8845 ++++++++ .../13/plugin/include/cp/cxx-pretty-print.h | 117 + .../13/plugin/include/cp/name-lookup.h | 502 + .../13/plugin/include/cp/operators.def | 163 + .../13/plugin/include/cp/type-utils.h | 54 + .../13/plugin/include/cppbuiltin.h | 33 + .../13/plugin/include/cppdefault.h | 76 + .../13/plugin/include/cpplib.h | 1606 ++ .../13/plugin/include/cselib.h | 143 + .../x86_64-linux-gnu/13/plugin/include/ctfc.h | 450 + .../13/plugin/include/d/d-tree.def | 29 + .../13/plugin/include/data-streamer.h | 349 + .../13/plugin/include/dbgcnt.def | 217 + .../13/plugin/include/dbgcnt.h | 40 + .../x86_64-linux-gnu/13/plugin/include/dce.h | 27 + .../x86_64-linux-gnu/13/plugin/include/ddg.h | 182 + .../13/plugin/include/debug.h | 281 + .../13/plugin/include/defaults.h | 1464 ++ .../x86_64-linux-gnu/13/plugin/include/df.h | 1253 + .../x86_64-linux-gnu/13/plugin/include/dfp.h | 50 + .../include/diagnostic-client-data-hooks.h | 105 + .../13/plugin/include/diagnostic-color.h | 65 + .../13/plugin/include/diagnostic-core.h | 128 + .../13/plugin/include/diagnostic-event-id.h | 61 + .../13/plugin/include/diagnostic-metadata.h | 85 + .../13/plugin/include/diagnostic-path.h | 234 + .../13/plugin/include/diagnostic-spec.h | 142 + .../13/plugin/include/diagnostic-url.h | 52 + .../13/plugin/include/diagnostic.def | 55 + .../13/plugin/include/diagnostic.h | 622 + .../13/plugin/include/digraph.h | 246 + .../13/plugin/include/distro-defaults.h | 15 + .../13/plugin/include/dojump.h | 82 + .../13/plugin/include/dominance.h | 94 + .../13/plugin/include/domwalk.h | 115 + .../13/plugin/include/double-int.h | 470 + .../13/plugin/include/dump-context.h | 305 + .../13/plugin/include/dumpfile.h | 774 + .../13/plugin/include/dwarf2asm.h | 100 + .../13/plugin/include/dwarf2ctf.h | 55 + .../13/plugin/include/dwarf2out.h | 470 + .../13/plugin/include/edit-context.h | 67 + .../13/plugin/include/emit-rtl.h | 548 + .../13/plugin/include/errors.h | 40 + .../13/plugin/include/escaped_string.h | 43 + .../13/plugin/include/et-forest.h | 85 + .../13/plugin/include/except.h | 334 + .../13/plugin/include/explow.h | 143 + .../13/plugin/include/expmed.h | 728 + .../x86_64-linux-gnu/13/plugin/include/expr.h | 364 + .../13/plugin/include/fibonacci_heap.h | 684 + .../13/plugin/include/file-find.h | 47 + .../13/plugin/include/file-prefix-map.h | 31 + .../13/plugin/include/filenames.h | 100 + .../13/plugin/include/fixed-value.h | 111 + .../13/plugin/include/flag-types.h | 508 + .../13/plugin/include/flags.h | 117 + .../13/plugin/include/fold-const-call.h | 28 + .../13/plugin/include/fold-const.h | 276 + .../13/plugin/include/function-abi.h | 320 + .../13/plugin/include/function.h | 728 + .../13/plugin/include/gcc-plugin.h | 47 + .../13/plugin/include/gcc-rich-location.h | 226 + .../13/plugin/include/gcc-symtab.h | 28 + .../x86_64-linux-gnu/13/plugin/include/gcc.h | 100 + .../13/plugin/include/gcov-counter.def | 51 + .../13/plugin/include/gcov-io.h | 394 + .../13/plugin/include/gcse-common.h | 47 + .../x86_64-linux-gnu/13/plugin/include/gcse.h | 45 + .../13/plugin/include/generic-match.h | 33 + .../13/plugin/include/gengtype.h | 521 + .../13/plugin/include/genrtl.h | 1678 ++ .../13/plugin/include/gensupport.h | 228 + .../13/plugin/include/ggc-internal.h | 115 + .../x86_64-linux-gnu/13/plugin/include/ggc.h | 371 + .../13/plugin/include/gimple-array-bounds.h | 49 + .../13/plugin/include/gimple-builder.h | 36 + .../13/plugin/include/gimple-expr.h | 179 + .../13/plugin/include/gimple-fold.h | 281 + .../13/plugin/include/gimple-iterator.h | 417 + .../13/plugin/include/gimple-low.h | 28 + .../13/plugin/include/gimple-match.h | 338 + .../include/gimple-predicate-analysis.h | 175 + .../13/plugin/include/gimple-predict.h | 91 + .../13/plugin/include/gimple-pretty-print.h | 41 + .../13/plugin/include/gimple-range-cache.h | 121 + .../13/plugin/include/gimple-range-edge.h | 58 + .../13/plugin/include/gimple-range-fold.h | 173 + .../13/plugin/include/gimple-range-gori.h | 229 + .../13/plugin/include/gimple-range-infer.h | 86 + .../13/plugin/include/gimple-range-op.h | 55 + .../13/plugin/include/gimple-range-path.h | 115 + .../13/plugin/include/gimple-range-trace.h | 78 + .../13/plugin/include/gimple-range.h | 103 + .../plugin/include/gimple-ssa-warn-access.h | 48 + .../plugin/include/gimple-ssa-warn-restrict.h | 29 + .../13/plugin/include/gimple-ssa.h | 201 + .../13/plugin/include/gimple-streamer.h | 34 + .../13/plugin/include/gimple-walk.h | 101 + .../13/plugin/include/gimple.def | 413 + .../13/plugin/include/gimple.h | 6911 ++++++ .../13/plugin/include/gimplify-me.h | 37 + .../13/plugin/include/gimplify.h | 92 + .../13/plugin/include/glimits.h | 163 + .../13/plugin/include/gomp-constants.h | 354 + .../13/plugin/include/graph.h | 27 + .../13/plugin/include/graphds.h | 69 + .../13/plugin/include/graphite.h | 452 + .../13/plugin/include/graphviz.h | 59 + .../13/plugin/include/gsstruct.def | 54 + .../13/plugin/include/gsyms.h | 97 + .../13/plugin/include/gsyslimits.h | 8 + .../13/plugin/include/gtm-builtins.def | 212 + .../13/plugin/include/gtype-desc.h | 3873 ++++ .../13/plugin/include/hard-reg-set.h | 527 + .../13/plugin/include/hash-map-traits.h | 194 + .../13/plugin/include/hash-map.h | 388 + .../13/plugin/include/hash-set.h | 217 + .../13/plugin/include/hash-table.h | 1321 ++ .../13/plugin/include/hash-traits.h | 471 + .../13/plugin/include/hashtab.h | 207 + .../13/plugin/include/highlev-plugin-common.h | 33 + .../13/plugin/include/hooks.h | 137 + .../13/plugin/include/hosthooks-def.h | 51 + .../13/plugin/include/hosthooks.h | 50 + .../13/plugin/include/hw-doloop.h | 160 + .../13/plugin/include/hwint.h | 378 + .../13/plugin/include/ifcvt.h | 121 + .../13/plugin/include/inchash.h | 211 + .../13/plugin/include/incpath.h | 46 + .../13/plugin/include/input.h | 292 + .../13/plugin/include/insn-addr.h | 63 + .../13/plugin/include/insn-attr-common.h | 57 + .../13/plugin/include/insn-attr.h | 357 + .../13/plugin/include/insn-codes.h | 7865 +++++++ .../13/plugin/include/insn-config.h | 21 + .../13/plugin/include/insn-constants.h | 471 + .../13/plugin/include/insn-flags.h | 18927 ++++++++++++++++ .../13/plugin/include/insn-modes-inline.h | 736 + .../13/plugin/include/insn-modes.h | 1023 + .../13/plugin/include/insn-notes.def | 98 + .../13/plugin/include/int-vector-builder.h | 93 + .../13/plugin/include/internal-fn.def | 472 + .../13/plugin/include/internal-fn.h | 260 + .../x86_64-linux-gnu/13/plugin/include/intl.h | 73 + .../13/plugin/include/ipa-fnsummary.h | 453 + .../13/plugin/include/ipa-icf-gimple.h | 309 + .../13/plugin/include/ipa-icf.h | 680 + .../13/plugin/include/ipa-inline.h | 134 + .../13/plugin/include/ipa-modref-tree.h | 766 + .../13/plugin/include/ipa-modref.h | 131 + .../plugin/include/ipa-param-manipulation.h | 446 + .../13/plugin/include/ipa-predicate.h | 273 + .../13/plugin/include/ipa-prop.h | 1207 + .../13/plugin/include/ipa-ref.h | 139 + .../13/plugin/include/ipa-reference.h | 31 + .../13/plugin/include/ipa-utils.h | 286 + .../13/plugin/include/ira-int.h | 1711 ++ .../x86_64-linux-gnu/13/plugin/include/ira.h | 245 + .../x86_64-linux-gnu/13/plugin/include/is-a.h | 284 + .../13/plugin/include/iterator-utils.h | 203 + .../x86_64-linux-gnu/13/plugin/include/json.h | 200 + .../13/plugin/include/langhooks-def.h | 400 + .../13/plugin/include/langhooks.h | 674 + .../x86_64-linux-gnu/13/plugin/include/lcm.h | 34 + .../13/plugin/include/libfuncs.h | 84 + .../13/plugin/include/libiberty.h | 761 + .../13/plugin/include/limitx.h | 35 + .../13/plugin/include/limity.h | 10 + .../13/plugin/include/line-map.h | 2152 ++ .../13/plugin/include/logical-location.h | 72 + .../13/plugin/include/loop-unroll.h | 27 + .../13/plugin/include/lower-subreg.h | 60 + .../13/plugin/include/lra-int.h | 528 + .../x86_64-linux-gnu/13/plugin/include/lra.h | 42 + .../13/plugin/include/lto-compress.h | 43 + .../13/plugin/include/lto-section-names.h | 41 + .../13/plugin/include/lto-streamer.h | 1248 + .../13/plugin/include/m2/m2-tree.def | 24 + .../13/plugin/include/machmode.def | 284 + .../13/plugin/include/machmode.h | 1264 ++ .../13/plugin/include/make-unique.h | 44 + .../x86_64-linux-gnu/13/plugin/include/md5.h | 160 + .../13/plugin/include/mem-stats-traits.h | 41 + .../13/plugin/include/mem-stats.h | 658 + .../13/plugin/include/memmodel.h | 116 + .../13/plugin/include/memory-block.h | 84 + .../13/plugin/include/mode-classes.def | 40 + .../13/plugin/include/mux-utils.h | 251 + .../13/plugin/include/objc/objc-tree.def | 76 + .../13/plugin/include/obstack-utils.h | 86 + .../13/plugin/include/obstack.h | 535 + .../13/plugin/include/omp-builtins.def | 472 + .../13/plugin/include/omp-expand.h | 32 + .../13/plugin/include/omp-general.h | 155 + .../13/plugin/include/omp-low.h | 31 + .../13/plugin/include/omp-offload.h | 35 + .../13/plugin/include/omp-simd-clone.h | 26 + .../13/plugin/include/opt-problem.h | 289 + .../13/plugin/include/opt-suggestions.h | 71 + .../13/plugin/include/optabs-libfuncs.h | 79 + .../13/plugin/include/optabs-query.h | 216 + .../13/plugin/include/optabs-tree.h | 51 + .../13/plugin/include/optabs.def | 478 + .../13/plugin/include/optabs.h | 387 + .../13/plugin/include/optinfo-emit-json.h | 60 + .../13/plugin/include/optinfo.h | 170 + .../13/plugin/include/options.h | 12460 ++++++++++ .../13/plugin/include/opts-diagnostic.h | 28 + .../13/plugin/include/opts-jobserver.h | 62 + .../x86_64-linux-gnu/13/plugin/include/opts.h | 566 + .../13/plugin/include/ordered-hash-map.h | 188 + .../13/plugin/include/output.h | 631 + .../13/plugin/include/pass-instances.def | 574 + .../13/plugin/include/pass_manager.h | 148 + .../13/plugin/include/passes.def | 540 + .../13/plugin/include/plugin-api.h | 605 + .../13/plugin/include/plugin-version.h | 18 + .../13/plugin/include/plugin.def | 112 + .../13/plugin/include/plugin.h | 208 + .../13/plugin/include/pointer-query.h | 297 + .../13/plugin/include/poly-int-types.h | 103 + .../13/plugin/include/poly-int.h | 2748 +++ .../13/plugin/include/predict.def | 238 + .../13/plugin/include/predict.h | 111 + .../13/plugin/include/prefix.h | 40 + .../13/plugin/include/pretty-print.h | 443 + .../13/plugin/include/print-rtl.h | 165 + .../13/plugin/include/print-tree.h | 50 + .../13/plugin/include/profile-count.h | 1298 ++ .../13/plugin/include/profile.h | 80 + .../13/plugin/include/range-op.h | 318 + .../13/plugin/include/range.h | 58 + .../13/plugin/include/read-md.h | 408 + .../13/plugin/include/read-rtl-function.h | 28 + .../x86_64-linux-gnu/13/plugin/include/real.h | 559 + .../13/plugin/include/realmpfr.h | 35 + .../13/plugin/include/recog.h | 565 + .../13/plugin/include/reg-notes.def | 254 + .../13/plugin/include/regcprop.h | 25 + .../13/plugin/include/regrename.h | 111 + .../x86_64-linux-gnu/13/plugin/include/regs.h | 392 + .../13/plugin/include/regset.h | 123 + .../13/plugin/include/reload.h | 466 + .../13/plugin/include/resource.h | 55 + .../13/plugin/include/rtl-error.h | 31 + .../13/plugin/include/rtl-iter.h | 292 + .../13/plugin/include/rtl-ssa.h | 71 + .../13/plugin/include/rtl.def | 1368 ++ .../x86_64-linux-gnu/13/plugin/include/rtl.h | 4623 ++++ .../13/plugin/include/rtlanal.h | 343 + .../13/plugin/include/rtlhash.h | 31 + .../13/plugin/include/rtlhooks-def.h | 48 + .../13/plugin/include/rtx-vector-builder.h | 125 + .../13/plugin/include/run-rtl-passes.h | 25 + .../13/plugin/include/safe-ctype.h | 150 + .../13/plugin/include/sanitizer.def | 669 + .../13/plugin/include/sbitmap.h | 321 + .../13/plugin/include/sched-int.h | 1689 ++ .../13/plugin/include/sel-sched-dump.h | 233 + .../13/plugin/include/sel-sched-ir.h | 1674 ++ .../13/plugin/include/sel-sched.h | 27 + .../13/plugin/include/selftest-diagnostic.h | 49 + .../13/plugin/include/selftest-rtl.h | 100 + .../13/plugin/include/selftest.h | 492 + .../x86_64-linux-gnu/13/plugin/include/sese.h | 310 + .../13/plugin/include/shortest-paths.h | 215 + .../13/plugin/include/shrink-wrap.h | 34 + .../13/plugin/include/signop.h | 33 + .../13/plugin/include/sparseset.h | 218 + .../13/plugin/include/spellcheck-tree.h | 51 + .../13/plugin/include/spellcheck.h | 229 + .../13/plugin/include/splay-tree-utils.h | 491 + .../13/plugin/include/splay-tree.h | 165 + .../13/plugin/include/sreal.h | 285 + .../13/plugin/include/ssa-iterators.h | 1013 + .../x86_64-linux-gnu/13/plugin/include/ssa.h | 34 + .../13/plugin/include/statistics.h | 71 + .../x86_64-linux-gnu/13/plugin/include/stmt.h | 53 + .../13/plugin/include/stor-layout.h | 117 + .../13/plugin/include/streamer-hooks.h | 92 + .../13/plugin/include/stringpool.h | 43 + .../13/plugin/include/substring-locations.h | 126 + .../13/plugin/include/symbol-summary.h | 1013 + .../13/plugin/include/symtab-clones.h | 77 + .../13/plugin/include/symtab-thunks.h | 173 + .../13/plugin/include/symtab.h | 106 + .../13/plugin/include/sync-builtins.def | 614 + .../13/plugin/include/system.h | 1337 ++ .../13/plugin/include/target-def.h | 125 + .../13/plugin/include/target-globals.h | 95 + .../13/plugin/include/target-hooks-macros.h | 80 + .../13/plugin/include/target-insns.def | 108 + .../13/plugin/include/target.def | 7143 ++++++ .../13/plugin/include/target.h | 321 + .../13/plugin/include/targhooks.h | 303 + .../13/plugin/include/timevar.def | 346 + .../13/plugin/include/timevar.h | 301 + .../13/plugin/include/tm-preds.h | 426 + .../x86_64-linux-gnu/13/plugin/include/tm.h | 48 + .../x86_64-linux-gnu/13/plugin/include/tm_p.h | 8 + .../13/plugin/include/toplev.h | 102 + .../13/plugin/include/tracer.h | 26 + .../13/plugin/include/trans-mem.h | 52 + .../13/plugin/include/tree-affine.h | 129 + .../13/plugin/include/tree-cfg.h | 134 + .../13/plugin/include/tree-cfgcleanup.h | 32 + .../13/plugin/include/tree-check.h | 380 + .../13/plugin/include/tree-chrec.h | 253 + .../13/plugin/include/tree-core.h | 2389 ++ .../13/plugin/include/tree-data-ref.h | 792 + .../13/plugin/include/tree-dfa.h | 45 + .../13/plugin/include/tree-diagnostic.h | 68 + .../13/plugin/include/tree-dump.h | 92 + .../13/plugin/include/tree-eh.h | 58 + .../13/plugin/include/tree-hash-traits.h | 44 + .../13/plugin/include/tree-hasher.h | 66 + .../13/plugin/include/tree-if-conv.h | 24 + .../13/plugin/include/tree-inline.h | 256 + .../13/plugin/include/tree-into-ssa.h | 53 + .../13/plugin/include/tree-iterator.h | 150 + .../13/plugin/include/tree-logical-location.h | 67 + .../13/plugin/include/tree-nested.h | 89 + .../13/plugin/include/tree-object-size.h | 38 + .../13/plugin/include/tree-outof-ssa.h | 82 + .../13/plugin/include/tree-parloops.h | 25 + .../13/plugin/include/tree-pass.h | 685 + .../13/plugin/include/tree-phinodes.h | 68 + .../13/plugin/include/tree-pretty-print.h | 60 + .../13/plugin/include/tree-scalar-evolution.h | 74 + .../13/plugin/include/tree-sra.h | 34 + .../13/plugin/include/tree-ssa-address.h | 45 + .../plugin/include/tree-ssa-alias-compare.h | 43 + .../13/plugin/include/tree-ssa-alias.h | 211 + .../13/plugin/include/tree-ssa-ccp.h | 29 + .../13/plugin/include/tree-ssa-coalesce.h | 26 + .../13/plugin/include/tree-ssa-dce.h | 22 + .../13/plugin/include/tree-ssa-dom.h | 25 + .../13/plugin/include/tree-ssa-dse.h | 37 + .../13/plugin/include/tree-ssa-live.h | 331 + .../13/plugin/include/tree-ssa-loop-ivopts.h | 37 + .../13/plugin/include/tree-ssa-loop-manip.h | 56 + .../13/plugin/include/tree-ssa-loop-niter.h | 64 + .../13/plugin/include/tree-ssa-loop.h | 84 + .../13/plugin/include/tree-ssa-math-opts.h | 26 + .../13/plugin/include/tree-ssa-operands.h | 122 + .../13/plugin/include/tree-ssa-propagate.h | 123 + .../13/plugin/include/tree-ssa-reassoc.h | 48 + .../13/plugin/include/tree-ssa-sccvn.h | 320 + .../13/plugin/include/tree-ssa-scopedtables.h | 212 + .../13/plugin/include/tree-ssa-strlen.h | 43 + .../13/plugin/include/tree-ssa-ter.h | 26 + .../13/plugin/include/tree-ssa-threadedge.h | 134 + .../13/plugin/include/tree-ssa-threadupdate.h | 150 + .../13/plugin/include/tree-ssa.h | 118 + .../13/plugin/include/tree-ssanames.h | 140 + .../13/plugin/include/tree-stdarg.h | 36 + .../13/plugin/include/tree-streamer.h | 122 + .../plugin/include/tree-switch-conversion.h | 927 + .../13/plugin/include/tree-vector-builder.h | 145 + .../13/plugin/include/tree-vectorizer.h | 2586 +++ .../13/plugin/include/tree-vrp.h | 45 + .../13/plugin/include/tree.def | 1518 ++ .../x86_64-linux-gnu/13/plugin/include/tree.h | 6717 ++++++ .../13/plugin/include/treestruct.def | 71 + .../13/plugin/include/tristate.h | 85 + .../x86_64-linux-gnu/13/plugin/include/tsan.h | 26 + .../13/plugin/include/tsystem.h | 137 + .../13/plugin/include/typeclass.h | 43 + .../13/plugin/include/typed-splay-tree.h | 652 + .../13/plugin/include/ubsan.h | 70 + .../13/plugin/include/valtrack.h | 139 + .../13/plugin/include/value-pointer-equiv.h | 62 + .../13/plugin/include/value-prof.h | 120 + .../13/plugin/include/value-query.h | 150 + .../plugin/include/value-range-pretty-print.h | 40 + .../13/plugin/include/value-range-storage.h | 233 + .../13/plugin/include/value-range.h | 1497 ++ .../13/plugin/include/value-relation.h | 526 + .../13/plugin/include/varasm.h | 84 + .../13/plugin/include/vec-perm-indices.h | 153 + .../x86_64-linux-gnu/13/plugin/include/vec.h | 2386 ++ .../13/plugin/include/vector-builder.h | 612 + .../13/plugin/include/version.h | 26 + .../13/plugin/include/vmsdbg.h | 249 + .../13/plugin/include/vr-values.h | 85 + .../13/plugin/include/vtable-verify.h | 143 + .../13/plugin/include/wide-int-bitmask.h | 143 + .../13/plugin/include/wide-int-print.h | 38 + .../13/plugin/include/wide-int.h | 3513 +++ .../13/plugin/include/xcoff.h | 40 + .../INPUT-GATE-v1.json | 207 + .../PLUGIN-AR-MEMBERS-v1.json | 26 + .../PLUGIN-PAYLOAD-v1.json | 14872 ++++++++++++ 535 files changed, 286927 insertions(+) create mode 100644 research/h25-gcc-generated-config-data/ARTIFACTS.json create mode 100644 research/h25-gcc-generated-config-data/EXPORT-CHECK-ONLY.txt create mode 100644 research/h25-gcc-generated-config-data/EXPORT-PURE-TESTS.txt create mode 100644 research/h25-gcc-generated-config-data/EXPORT-VALIDATION.json create mode 100644 research/h25-gcc-generated-config-data/EXPORT-WORDING-CORRECTION.json create mode 100644 research/h25-gcc-generated-config-data/NOTICE.md create mode 100644 research/h25-gcc-generated-config-data/README.md create mode 100644 research/h25-gcc-generated-config-data/SOURCE-ORIGIN.json create mode 100644 research/h25-gcc-generated-config-data/SOURCES.json create mode 100644 research/h25-gcc-generated-config-data/TASK.json create mode 100644 research/h25-gcc-generated-config-data/VERIFY.json create mode 100644 research/h25-gcc-generated-config-data/evidence/EMBEDDED-CONFIGURATION-v1.json create mode 100644 research/h25-gcc-generated-config-data/run.py create mode 100644 research/h25-gcc-generated-config-data/source-artifacts/BINARY-PACKAGE-CONTROL-v1.json create mode 100644 research/h25-gcc-generated-config-data/source-artifacts/BINARY-PACKAGE-CORRESPONDENCE-v1.json create mode 100644 research/h25-gcc-generated-config-data/source-artifacts/BINARY-PACKAGE-MEMBERS-v1.json create mode 100644 research/h25-gcc-generated-config-data/source-artifacts/BUILDINFO-CHANGES-ACQUISITION-v1.json create mode 100644 research/h25-gcc-generated-config-data/source-artifacts/LAUNCHPAD-EXACT-BUILD-ACQUISITION-v1.json create mode 100644 research/h25-gcc-generated-config-data/source-artifacts/PUBLISHER-BUILD-CHECKSUM-ASSOCIATION-v1.json create mode 100644 research/h25-gcc-generated-config-data/source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo create mode 100644 research/h25-gcc-generated-config-data/source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes create mode 100644 research/h25-gcc-generated-config-data/unit03/REPAIR-WINDOW-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/SOURCE-CLOSE-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/DERIVATION-v2.md create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/FREEZE-v2.json create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/GENERATED-CONFIGURATION-VIEW-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/GENERATED-CONFIGURATION-VIEW-v2.json create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/REVIEW-HOLD-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/SOURCE-PROJECTION-COMPARISON-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/TEST-NORMAL-repair-v2.txt create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/TEST-OPTIMIZED-repair-v2.txt create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/configured_data_v1.py create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/generated_config_v1.py create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/header-member-pins-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/GENERATED-CONFIGURATION-VIEW-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/SOURCE-PROJECTION-COMPARISON-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/configured_data_v1.py create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/generated_config_v1.py create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/header-member-pins-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/test_configured_data_v1.py create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/repair_metadata_v2.py create mode 100644 research/h25-gcc-generated-config-data/unit03/gcc/test_configured_data_v1.py create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/ACQUISITION-network-v2.json create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/ACQUISITION-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/EXTRACTION-ATTEMPT-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/INPUT-GATE-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/LICENSE-PROVENANCE-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/LICENSE-PROVENANCE-v2.json create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-AR-MEMBERS-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-AR-MEMBERS-v2.json create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-CHECKSUM-ASSOCIATION-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-PAYLOAD-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-PAYLOAD-v2.json create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/GCC-Runtime-Library-Exception.txt create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/GPL-3-standard-text create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/GPL-3.0-gcc-source.txt create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/gcc-13-debian-copyright create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/control create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/md5sums create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/rejected-v1-offset-metadata/INPUT-GATE-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/rejected-v1-offset-metadata/PLUGIN-AR-MEMBERS-v1.json create mode 100644 research/h25-gcc-generated-config-data/unit03/source-artifacts/rejected-v1-offset-metadata/PLUGIN-PAYLOAD-v1.json diff --git a/research/h25-gcc-generated-config-data/ARTIFACTS.json b/research/h25-gcc-generated-config-data/ARTIFACTS.json new file mode 100644 index 0000000000..2ec68fb775 --- /dev/null +++ b/research/h25-gcc-generated-config-data/ARTIFACTS.json @@ -0,0 +1,2675 @@ +{ + "schema": "full-publication-file-inventory-v1", + "files": [ + { + "path": "EXPORT-CHECK-ONLY.txt", + "bytes": 69, + "sha256": "5873404cb4424dca918a00d503569f3c29a3190fd029a007e1afb2006399f647" + }, + { + "path": "EXPORT-PURE-TESTS.txt", + "bytes": 9659, + "sha256": "cc5a72cd27ee0c219d8eb7960ed2af66d194acd484ce35e7f1b85e9b9968c78e" + }, + { + "path": "EXPORT-VALIDATION.json", + "bytes": 2535, + "sha256": "43c2f72c37c59a736bebdba211ae5c697655556695fcee5b687e6b3d503212b7" + }, + { + "path": "EXPORT-WORDING-CORRECTION.json", + "bytes": 549, + "sha256": "a6428da8a6ade648e1dfaaffaea800c5f99e12ff30dd9db1c14f7e57039b24a6" + }, + { + "path": "NOTICE.md", + "bytes": 2431, + "sha256": "b8c28ebf852038188363b5c465e3bd89973805b5e38c24c03e801ceba04f26a9" + }, + { + "path": "README.md", + "bytes": 6549, + "sha256": "528f34997b5f550e4fe22e54d685b7997831d5b1bece1e40723d3800f110f626" + }, + { + "path": "SOURCE-ORIGIN.json", + "bytes": 343007, + "sha256": "fcd91c51b7e783dd52e4ca024946eb7c17c1215834d1c5f0f3b5620d7192aadc" + }, + { + "path": "SOURCES.json", + "bytes": 584, + "sha256": "911ffe8b456c49ccd19ee42c8e21b226a56dacba515e857300aa28cc1db87be7" + }, + { + "path": "TASK.json", + "bytes": 4891, + "sha256": "dc2bd3342dbed52ef885643fdcf73127ff28946e879d28fc7b2d8cfaef241a7e" + }, + { + "path": "VERIFY.json", + "bytes": 736, + "sha256": "d5f7f3aa1c2c55ea769b97987bfc8825f95cf70d2abdaf4fbb872cf3dcb3f78c" + }, + { + "path": "evidence/EMBEDDED-CONFIGURATION-v1.json", + "bytes": 1727, + "sha256": "b02f8530e592eddeac5f86a2fb3a8ea80f25ac0e8ab2945fccb64a665b18d4cc" + }, + { + "path": "run.py", + "bytes": 1238, + "sha256": "257750b77ba1ce61e79e435750a6beabc72f7467133111d57521c92df47a735f" + }, + { + "path": "source-artifacts/BINARY-PACKAGE-CONTROL-v1.json", + "bytes": 1006, + "sha256": "f3977bdeb2ac577d432f1a7435d37f6233f31b5cb34a8291d093eebd5f03b709" + }, + { + "path": "source-artifacts/BINARY-PACKAGE-CORRESPONDENCE-v1.json", + "bytes": 3437, + "sha256": "7ade5b65ff17b1a941bc768eb81aaffb986ba6b40fea689d3408f1889032b98f" + }, + { + "path": "source-artifacts/BINARY-PACKAGE-MEMBERS-v1.json", + "bytes": 1178, + "sha256": "2b0450c2b6c0d2d68f90f12a980948abe0a77a9aadab0c0b240447ddccf33f85" + }, + { + "path": "source-artifacts/BUILDINFO-CHANGES-ACQUISITION-v1.json", + "bytes": 2565, + "sha256": "e88faa80dad30d0b90a35dbcefe8238b3904fdcb348b57736b2d828d41288e77" + }, + { + "path": "source-artifacts/LAUNCHPAD-EXACT-BUILD-ACQUISITION-v1.json", + "bytes": 2698, + "sha256": "cce05c10bb2065629b93870303777b112afd143a0f6c3fba8f3071158c81a93a" + }, + { + "path": "source-artifacts/PUBLISHER-BUILD-CHECKSUM-ASSOCIATION-v1.json", + "bytes": 7161, + "sha256": "21cb1f2059830a63ae9c3a289e960ff7df15a10cb66b6ff9bfcab025ea5c2d3f" + }, + { + "path": "source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo", + "bytes": 52703, + "sha256": "6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83" + }, + { + "path": "source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes", + "bytes": 47145, + "sha256": "db40bf0222e18a133216deb061955adc3a54ef4ff6e1b4fe469ff8c404422b61" + }, + { + "path": "unit03/REPAIR-WINDOW-v1.json", + "bytes": 739, + "sha256": "78c60279340f10d3424f718adb42016b634cb83c995cd9ed45434c20979f6e2d" + }, + { + "path": "unit03/SOURCE-CLOSE-v1.json", + "bytes": 1593, + "sha256": "84c73974cbc76159802cf9c894df404b206624b4a943e1451336e93faf85b958" + }, + { + "path": "unit03/gcc/DERIVATION-v2.md", + "bytes": 6665, + "sha256": "e37dbb2193f96cc635c585c13e48c167504a2993b05d3fafc778ef8b461104ab" + }, + { + "path": "unit03/gcc/FREEZE-v2.json", + "bytes": 6514, + "sha256": "215943ce4b7542b268cfb86241f2c195ec3b64c2fc13d69217c5083bfb18ab5e" + }, + { + "path": "unit03/gcc/GENERATED-CONFIGURATION-VIEW-v1.json", + "bytes": 63583, + "sha256": "dd255edb52b640d7c782e11f035e695eaad1d609741a5170df20fd2ae08f3c30" + }, + { + "path": "unit03/gcc/GENERATED-CONFIGURATION-VIEW-v2.json", + "bytes": 65076, + "sha256": "65d82ba7484dd3df0914cf98e4b3da4b8ce6befa8e532d2e3034ec1ed32b2cbb" + }, + { + "path": "unit03/gcc/REVIEW-HOLD-v1.json", + "bytes": 3417, + "sha256": "9f7bac634af636b8a2820593044f01f6b1c176c117190d1cfb2bda962cd69549" + }, + { + "path": "unit03/gcc/SOURCE-PROJECTION-COMPARISON-v1.json", + "bytes": 1743, + "sha256": "5190c1077e8fadfecac194065f2daf0445700dedf10c738151f99db7055c5426" + }, + { + "path": "unit03/gcc/TEST-NORMAL-repair-v2.txt", + "bytes": 4170, + "sha256": "01a2e2f2ede1ca6bbfa1541ff294c909cc662649d5811426945d834335078e69" + }, + { + "path": "unit03/gcc/TEST-OPTIMIZED-repair-v2.txt", + "bytes": 4170, + "sha256": "c0eca76fb52f60893d3adccd428390213762ed651a512ae1f895216989842ee2" + }, + { + "path": "unit03/gcc/configured_data_v1.py", + "bytes": 10098, + "sha256": "8fd118f1a0e3ddb569438722349b59d2d5e887a61b46850806a9694838aea6d9" + }, + { + "path": "unit03/gcc/generated_config_v1.py", + "bytes": 19555, + "sha256": "7d3fca92570304a3d53e8df7de9c2298a96f41cd44f050172a64ecbe897e608f" + }, + { + "path": "unit03/gcc/header-member-pins-v1.json", + "bytes": 89677, + "sha256": "c0c6890ff27c90b5a919d8943a707d49497aa05f1329d7ab5b06fbe95ab2e47d" + }, + { + "path": "unit03/gcc/pre-review-v1/GENERATED-CONFIGURATION-VIEW-v1.json", + "bytes": 63583, + "sha256": "dd255edb52b640d7c782e11f035e695eaad1d609741a5170df20fd2ae08f3c30" + }, + { + "path": "unit03/gcc/pre-review-v1/SOURCE-PROJECTION-COMPARISON-v1.json", + "bytes": 1743, + "sha256": "5190c1077e8fadfecac194065f2daf0445700dedf10c738151f99db7055c5426" + }, + { + "path": "unit03/gcc/pre-review-v1/configured_data_v1.py", + "bytes": 10053, + "sha256": "9cc6b211dcb7f696eb128a331da91e46c5ff5b282653d1fe63eb5bde42ef9c35" + }, + { + "path": "unit03/gcc/pre-review-v1/generated_config_v1.py", + "bytes": 16800, + "sha256": "e05316e1ad36740ccc29350bf9f93387f7f2c8e0b5ac97f351ecc95525677e65" + }, + { + "path": "unit03/gcc/pre-review-v1/header-member-pins-v1.json", + "bytes": 89677, + "sha256": "c0c6890ff27c90b5a919d8943a707d49497aa05f1329d7ab5b06fbe95ab2e47d" + }, + { + "path": "unit03/gcc/pre-review-v1/test_configured_data_v1.py", + "bytes": 12732, + "sha256": "f2cc8fe090fb43c0cc75dc1e56fe488d09e3e1f97a54454dc66e044165bcab0d" + }, + { + "path": "unit03/gcc/repair_metadata_v2.py", + "bytes": 4685, + "sha256": "d40070f350883cf867d58c0797abe4f3dbc43adc9102388ad3c31e75e5378d59" + }, + { + "path": "unit03/gcc/test_configured_data_v1.py", + "bytes": 15566, + "sha256": "25739228ec6f02e5b256e2ab04eec430b9ca689e1db7141836c0b42bca2d12f0" + }, + { + "path": "unit03/source-artifacts/ACQUISITION-network-v2.json", + "bytes": 1699, + "sha256": "48ac8b28f8106dce33b10b351904c1d50d7e84ab0afe6b62b8da18b610cf9a80" + }, + { + "path": "unit03/source-artifacts/ACQUISITION-v1.json", + "bytes": 923, + "sha256": "e2df99524759bf40716149340cd65f85886c6041f28519d3c8a1dec014468581" + }, + { + "path": "unit03/source-artifacts/EXTRACTION-ATTEMPT-v1.json", + "bytes": 302, + "sha256": "6b2086e27081e2da7cbacb11f6dc9a86b925340ae05bbd390964728bf8b939e4" + }, + { + "path": "unit03/source-artifacts/INPUT-GATE-v1.json", + "bytes": 9412, + "sha256": "7176444d5d8bdd1d9610ad0322c0dab0c759811a7201c3e6bc71e7f7a35f6a53" + }, + { + "path": "unit03/source-artifacts/LICENSE-PROVENANCE-v1.json", + "bytes": 1067, + "sha256": "9855171852f2d0190af7cc3f2b45673e2d518d3543cceab53adecc32bcee8ff8" + }, + { + "path": "unit03/source-artifacts/LICENSE-PROVENANCE-v2.json", + "bytes": 1090, + "sha256": "c4ac6815bc5e43d75e4be3ffd69b7a123d7ae566956a63bf80d2f05a62f0fc44" + }, + { + "path": "unit03/source-artifacts/PLUGIN-AR-MEMBERS-v1.json", + "bytes": 974, + "sha256": "1ea9badd67a4e768106c515d1cae504845df9d75bfd4b38a83c44bf282bbcfe3" + }, + { + "path": "unit03/source-artifacts/PLUGIN-AR-MEMBERS-v2.json", + "bytes": 1202, + "sha256": "ca0d19133055f5df81874895709dcab6c073e6d862891f5acc70d4eaa6dc3d35" + }, + { + "path": "unit03/source-artifacts/PLUGIN-CHECKSUM-ASSOCIATION-v1.json", + "bytes": 450, + "sha256": "54c6748b333d3a41b68e092559ef53bc465932485d3be7620b160700057428c5" + }, + { + "path": "unit03/source-artifacts/PLUGIN-PAYLOAD-v1.json", + "bytes": 609942, + "sha256": "67e2d71f4affb83e458f226786e93361ec2cae3a3d19f9dd894d51d341ce61f7" + }, + { + "path": "unit03/source-artifacts/PLUGIN-PAYLOAD-v2.json", + "bytes": 613094, + "sha256": "83997b65422b22e34ca0c6b836b99d42e8d8291860f1c51977286ba40247d70b" + }, + { + "path": "unit03/source-artifacts/gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "bytes": 1451870, + "sha256": "3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f" + }, + { + "path": "unit03/source-artifacts/licenses/GCC-Runtime-Library-Exception.txt", + "bytes": 3324, + "sha256": "9d6b43ce4d8de0c878bf16b54d8e7a10d9bd42b75178153e3af6a815bdc90f74" + }, + { + "path": "unit03/source-artifacts/licenses/GPL-3-standard-text", + "bytes": 35149, + "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986" + }, + { + "path": "unit03/source-artifacts/licenses/GPL-3.0-gcc-source.txt", + "bytes": 35147, + "sha256": "8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903" + }, + { + "path": "unit03/source-artifacts/licenses/gcc-13-debian-copyright", + "bytes": 69100, + "sha256": "08c6f3dee4c19aa1e57eb7d4ad45829b2e99656313bd07fa0922e2553f500be5" + }, + { + "path": "unit03/source-artifacts/plugin-members/control", + "bytes": 684, + "sha256": "4bc09829ffea727e7f43f6b14150798e1e784a3dd2b48adef5b578b9aedfa1bd" + }, + { + "path": "unit03/source-artifacts/plugin-members/md5sums", + "bytes": 45223, + "sha256": "3f23ce0979a27ac4a8d8e178468e1565055e44935f381ffe9bcb4c103e0a5f68" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def", + "bytes": 4978, + "sha256": "023fa7450452b94ef3d2c508b2a378e59d8688f30699769ce0ed6d2bfeceac48" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h", + "bytes": 2945, + "sha256": "f3d9edb2e4328d6c9619e835b87b5e3f6e14d4ede997bbb73d1bff083c80bc00" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h", + "bytes": 2184, + "sha256": "c5b72a9516a7eca30a957d1f76cc7c8a932e0a28583b3098e99375a9b25f5c88" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h", + "bytes": 2507, + "sha256": "4c9ae2bac830bd5024c670a17296f902aa9bba4584c30317f02eb5fbcb1526e7" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def", + "bytes": 224, + "sha256": "bcad5255616b42ac69bbb250184c8cce7e020d1330397fd22d78c8daea826a15" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h", + "bytes": 15524, + "sha256": "536ca12849b965f7516424aff8e05cbbb54b802eb29c92f548af3217c3fcde32" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h", + "bytes": 11777, + "sha256": "06716406a6cd33f5bf987864ce2ffe27a5977393bfb28b7ce87621a67e05f91d" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h", + "bytes": 1535, + "sha256": "af336c61ed00f1362de0043ceb92f06fe5f7360f2f4a11bfb5c8ba92702fd57e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h", + "bytes": 8837, + "sha256": "7c9f6f7fe091d89eb48ead7aaf5bc26a177a90c4e76739e1839c88cfbb70f023" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h", + "bytes": 8716, + "sha256": "f45972c3926988376dacf76a0003996a5a7a1dd26397380774d9c810aae3eab7" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h", + "bytes": 13872, + "sha256": "ce4072bfd29536a4b8e91c985f19ae31a3b7650b4f0ce2f06c291551693b0d77" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "bytes": 59854, + "sha256": "9ada1fb9d8c6f4d39e950fc3dfcefb81767c418d924a7e254774bda30e5a4537" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h", + "bytes": 1143, + "sha256": "8527a175c79dba1a8a8f77b128e6cd4adf210d6a13bf7f21324f2a75044bdcfa" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "bytes": 40843, + "sha256": "2af4b5b1ac67ee4075226fe87c19e0926c430c9e560034da071e6581902623a5" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h", + "bytes": 1067, + "sha256": "a769348fbcf2cc4f62cb4104535b37328472ff6679e9d4ebd7525a91b1ac4f9f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h", + "bytes": 18619, + "sha256": "f2619ee16c3a42f950b0b427af2956dcbf2a22fb7041fd43b529331fbd3ca4bf" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h", + "bytes": 1277, + "sha256": "e7d3be61e74749602b32d77554f5d56de18f5ef167867b250e482e64406a8f17" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h", + "bytes": 37570, + "sha256": "fdd9be6d48e92ca2fcd053c56c3e746d120745f51fe1acbc1f4490ffb54156db" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def", + "bytes": 20110, + "sha256": "fdc2318336bbbd9a51502898c6b46e625ead62fe907aad576f35f7569fd8b26a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def", + "bytes": 53342, + "sha256": "a7e984fe65c232e518c037d5bb4d16cf74e8f81738eed401492248b164196264" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def", + "bytes": 95755, + "sha256": "bbd89bafc02c73b4ec6b15b4322fc517fa8fe58ded45a747892b0e4f12d78d0b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h", + "bytes": 7200, + "sha256": "15c5c27a7b2e9be79373d761604f12a4ed74d3504778d4a2469f0356807fca79" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h", + "bytes": 171, + "sha256": "8ad05936a160214baea3c8aadede4475fdf3ece6962f85e61e962fd6590b11ef" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def", + "bytes": 4172, + "sha256": "4385cc13d39e61053458f6d79ab7626c136c03b58976d613a33732351c295f18" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h", + "bytes": 59318, + "sha256": "d5498885fbcd854b4c26f557501490d5e00b40c549270d10b7bc11a9320ed7f7" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h", + "bytes": 8033, + "sha256": "460eb8b3721b06a7d87e4f19083d96ba7a78a56ab312b5a68d659ec42420195a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h", + "bytes": 9549, + "sha256": "14a75ae7cdb8b0e84b4269f0afb2f8dbf429e840ec42f609511602da8e8da98a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h", + "bytes": 5324, + "sha256": "fc1bd1ad525e0ee3b6b481b8038aad31b98fe8dbebb1f3ffcea9e75987c45d82" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h", + "bytes": 35134, + "sha256": "bdd621639433a009ef8ab0204f78ba4020c9f6357b246234f6bf3939017cceaa" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h", + "bytes": 5291, + "sha256": "188f6dd04a978928c8ef21b6a6ec30b467d57da3e3b1c8d9828aa1023a32d830" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h", + "bytes": 845, + "sha256": "84864c1ceac3d4e5a8dcde662ce2ca9652fa687d7df61c1b1a73d68193b874ef" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def", + "bytes": 6828, + "sha256": "f5566f1fab9f1589b2c7b9d96c9b73dcbc02523f686bc264d07c3d03a9efd8fb" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h", + "bytes": 6429, + "sha256": "2288eb67df53ccfcdff79d0a9d8fb690f06c2de84e5bd5c2c1b307f371c635b6" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h", + "bytes": 3473, + "sha256": "9d1626ebff3462fc9b4f8518ea47992e84dd112f63fe6e6b7fe31270ddcdecc5" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h", + "bytes": 1016, + "sha256": "75674de6ab66278b0b0991e2ba376482c273b2f7e8d025650a85e5285a2b598e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h", + "bytes": 1303, + "sha256": "cb1dfd9de683927cbaae3e207f0aa98aeb07cab5147180017dd7a11cc9fc8a78" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h", + "bytes": 966, + "sha256": "d9b617983dc0a9ab8d4b648c63ff0b633b7e2f81768cde0dc36368f46c34e3a1" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h", + "bytes": 11428, + "sha256": "1fdd54693186cb5c8abf38667ac146e94bc69164049da65bd34275b7fcf85da0" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h", + "bytes": 27914, + "sha256": "fe09467eea2c176f44e53a0d369d18ad6a489620dd18b426d1d3c40e6f095167" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h", + "bytes": 2499, + "sha256": "d5287436e49903f67cfbb8137e0a028a5a541df43b0252023d37ae17a9491226" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h", + "bytes": 2688, + "sha256": "3ccab97cd645994aecb66045edb13b71017dbf012ee086b97cd6dcb22781be99" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h", + "bytes": 124842, + "sha256": "77b643cde2dc6c81e6e28d3265c05dd1ddb4c99d9b37841901a35edc08e8e612" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def", + "bytes": 5632, + "sha256": "f27acb01a17cc0c62c01aa4982155115bfd69deeec1766e3c26cd630973d2405" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h", + "bytes": 1694, + "sha256": "69db322f7d423f2e7bfcdf0ccae1c90c3853c69ac8c209c0e894d6784f0d19b7" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h", + "bytes": 8594, + "sha256": "7870fdbea37370be7ec92824a4fe4e7c24bfe62767b448801efccfa0f83df7bd" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h", + "bytes": 1308, + "sha256": "ffc4a02f68215b91971535d2569ddb46c65626f83aad16bb9d7cc5e31280e10d" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h", + "bytes": 4891, + "sha256": "baa85177f344454041d22b1147ed169ab68064beb0cd4a7adfc8fcbeefca7b3f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h", + "bytes": 6023, + "sha256": "5bab14b3fb8ef807879c249b52041d158c3983e5c149f175cdc7aacb865f188a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h", + "bytes": 2766, + "sha256": "15954fefc8d00dd5d2a3ceaf17f957a78bcf08ca25681703fba345649bf4c97a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h", + "bytes": 17996, + "sha256": "255fe5da07efc03e66574ab45a1c92deb4ed7cc064f83677e1cae109065b8354" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h", + "bytes": 2854, + "sha256": "45e61be0214122daed3ce73a9edec9709c8d1b191a424ed6efd6db4d5b31f032" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "bytes": 6054, + "sha256": "8f3518bc748dd1f7c1f19bcc2d59201405b5a599820256ff1ecdf9ea63392daf" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h", + "bytes": 3186, + "sha256": "48cc90a7598d0ab51a85b0cf3143f187610754da7c47ecd9ac463f2c9d5cec29" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h", + "bytes": 1293, + "sha256": "a6fe8538bcc4db531f57ddb5b80d28e09b05c875e497f58542ff7fa4252cdfef" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h", + "bytes": 2629, + "sha256": "14a738ecc63fc02ceb153060c87722d3417ebf5564ca7889f2f27c742f20285c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "bytes": 3309, + "sha256": "5507732a24911a39abbf7d2526fd8c1b09db98c0519b7388b7143a3c01bdbccb" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def", + "bytes": 2399, + "sha256": "d4d39a44bc16d20dc2c8a10ad4b70156a548e2d38a32fda01811a253d8f4952a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h", + "bytes": 3322, + "sha256": "84ae505f2aeabbece530164dbefa82465b943331e490bb73ce40d088d9879ce9" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h", + "bytes": 17536, + "sha256": "d5a24ab0e669449ec51b483c5472cdf185ce5804c56d014103cee611eabc65df" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h", + "bytes": 113489, + "sha256": "55f2cea099e92f2bc0649599d708726fab531a10e9ee15456af35a4975599d21" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h", + "bytes": 2346, + "sha256": "eb6e3de8ee383f691f2b83c0cdafe8f1687c06c703f0854623dc71569304622b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "bytes": 1669, + "sha256": "9007684d92746203c280b53a69debfff75851e31c1cd9ce6cd5c61f705d5179c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def", + "bytes": 1040, + "sha256": "ca5f3b59774dade073e1fc95a86c933634b8407437f250a7882fa762967f158d" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h", + "bytes": 2878, + "sha256": "f6896474c5b3fbc38927276acb79abc519e71b98bba82a614cd05052c24cee28" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h", + "bytes": 2982, + "sha256": "fecefad6255ddd8d60d9f3b546024a93db37dce7ccf277668de35336ce837471" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def", + "bytes": 33406, + "sha256": "864bcae5ff7ba9991e056b5b8dbbe257b2169ac2996bfcd65aab3e80054f9bf3" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h", + "bytes": 1625, + "sha256": "3b824fa8ab2a86c5b8e5a72b4c868e569780d5e867d80755538e483cdf04b4ab" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h", + "bytes": 1947, + "sha256": "875e34fffe6e6bf06cecb83c1edfc221c6bb61a096ef38c60abe63914c72d297" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h", + "bytes": 811, + "sha256": "4240c4b506975f484248da9a3c668aacd837dba532be7d6d174f40405c9561af" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "bytes": 8504, + "sha256": "ce71be1f80fac59483042c6dd421bd267765c44f977505955b2718e30da612c4" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h", + "bytes": 1611, + "sha256": "f86e24a101cf141fab63458b812e0aed5bde16850a24d1045f6cebbc2977f3cc" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "bytes": 217, + "sha256": "41150681fe15436d17aa3a0b45b57345a65238fb945b14b0ca2bdf857e723e48" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "bytes": 1640, + "sha256": "987c0a46b31907a609c15c749988921053bdf81e77d3a695c981d7be7a9378fc" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h", + "bytes": 1732, + "sha256": "aafa561687a1cc40f753d8085f357a82db14b291f195e98f7409606439004c94" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h", + "bytes": 1848, + "sha256": "b37b99a1b2bb94e6267ac860b76683eea2ce19e53b51ec0899ac5b1c5b97b2c2" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h", + "bytes": 15197, + "sha256": "169d3b325ba9957aa6dc3953bb26dfed3bed2618950585f1891d4ab9375def21" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def", + "bytes": 1927, + "sha256": "9b7e57e064c7740d204e9bc19eda510646e3a0801978770e8eef3bf124e662a9" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h", + "bytes": 2308, + "sha256": "5e566a797e02c4abd09b0102310950625e8d325264a17fdbb0817448ca99bbf1" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h", + "bytes": 9714, + "sha256": "35d2eb58bf53d383c73d7c362148c2ff354fb2691ac0a86e65562757bf6ffdeb" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def", + "bytes": 4936, + "sha256": "c2ed08f00e4a126eb18bb8668fa966d8d66ebfdc57f65dcc4a66b607f0b3c252" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def", + "bytes": 27148, + "sha256": "a3d582ccb91cae886555cfe3541283787a2659c1b310d5a4fed427cd54120563" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h", + "bytes": 350792, + "sha256": "78c10c94738de11dae4cba0de0e6c81b3f8f4431ca9b2b916d5812663af1020c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h", + "bytes": 4883, + "sha256": "533988176d9313b5e081e45c52f0ef1a86e9d518548fdf1f2ae56f2ff71b1a2f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h", + "bytes": 18488, + "sha256": "3c012c6827b6efa1c9477ecb59b3147036888f0e0183614ef3a7847bad5c89b4" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def", + "bytes": 6848, + "sha256": "5b3199c6d97f307cb6bbb296e30f7518900548c12d1c8f45699e4e54bd40d2a1" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h", + "bytes": 1877, + "sha256": "3d0f20f1400cbef0786ee4871e656a20a4ab80315641b11e4efddaa79c016888" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h", + "bytes": 1174, + "sha256": "172a64e3f9a2dc4d2b05bcb3e16716336160ebd801cc17bbde02c81232a9407f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h", + "bytes": 2987, + "sha256": "d105e4f83c7403684db87493b30f52304d6a7c4a3ada1f56d3d2fa1d565e007c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h", + "bytes": 57534, + "sha256": "2b9fc43ca45c7d844989c3a04dc311885a3b3537d25166d293a0ec092461bdc0" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h", + "bytes": 4592, + "sha256": "3e3f877bf198338a5bec51c76e87351f246abb69088e7531fef51db2c80e7c84" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h", + "bytes": 15687, + "sha256": "96197421f357e1e3b007a1757b6f77bb3d76800f453527fb62f547523669d3bc" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def", + "bytes": 1386, + "sha256": "a07d2e1d5354fef980d33ad14614b445cb1246e3b3222d8dc27eb443f502d484" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h", + "bytes": 10999, + "sha256": "e5b02a3dfb361820a5b24fc1710b38666626cc13fb78311332d1ae601a13a873" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def", + "bytes": 6668, + "sha256": "68d2ba3391fbcd277d748eecd075b18f8610539a7c4600ac49dbd46b18a17cfc" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h", + "bytes": 1229, + "sha256": "e5f9da2c42dfc0ce09a321a7fb324a63b0ff6c789d761191be58c1c8af7b8e05" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h", + "bytes": 877, + "sha256": "0d029fe1379ceed3849f271390cc12c98359a16631da462f8ba5f12c9131bec8" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h", + "bytes": 5459, + "sha256": "2b647e04c726df5ed328fde718ce5b996366831578c0d1591bf38620be092a06" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h", + "bytes": 11479, + "sha256": "d3ce98401f5216d6ff167a2701ac6547ef332e1a98eb933778526dd866b6aced" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "bytes": 42136, + "sha256": "012ff1fece4d6d52b00647a49472045054094afa11637d7d5fdaced73ab95eae" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h", + "bytes": 48230, + "sha256": "ce939e0a7ae288d5d5ed39993f69eca3b2696f8fd9d3d7ba1c8382a6a98fb14f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h", + "bytes": 2361, + "sha256": "6550085e484d044a7f674ada222696b618520b3028cf2d5916a2e36916d523aa" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h", + "bytes": 3567, + "sha256": "8470edd627b9faa12436145be03125fb8d6359804f88d267056434bb9c1d4cca" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h", + "bytes": 2302, + "sha256": "0f84d9affbe4c7be3f20b7594db32ac7a8b8b1a5ab6e90045b6e6eeef9cf2bdb" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h", + "bytes": 5214, + "sha256": "2a5d445b78fc1981fc32e9b1ec2ed84b26f7009459b05dc8086bb9dec2002a54" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h", + "bytes": 2084, + "sha256": "8f33443da1ae6a5b747ceb0a43f824a65ee10c5205ec3a8ce5909244300aa08d" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h", + "bytes": 2270, + "sha256": "aba695214641b9efe0623f1e9ab999d116912405a5cdccdf3f3b3dd3671b7983" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h", + "bytes": 6885, + "sha256": "e97bc1cab6272b6aebeefabf0e53e6fbed508bcd82cb90b4fa814a3e92ebdab9" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h", + "bytes": 3628, + "sha256": "0be5036f3162914a45a387f325f24ef7c00491f53f232053e9ac6e6c16827f05" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h", + "bytes": 1587, + "sha256": "0e6546e3a19732b9522a15a54aa56f5e0c76ed691cb152ce96f2fd7b3f0926a8" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def", + "bytes": 2645, + "sha256": "d13eaa301a150ba0415fb5cd8f5f22e001bdabccadb7b3a4a6b02dbaa42cd909" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h", + "bytes": 22673, + "sha256": "94781ae0ab138d083f6679a1521071723de43930ad8ee077d58b2c165bbf4242" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h", + "bytes": 6740, + "sha256": "5e6c941c7cfd22065c77c2d1f17af5c2658544e28805c7c3aabeb3f7da0d6d94" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "bytes": 488, + "sha256": "2ccde3e3cbe4fc9fba8da310295f775d5bd77d9742090f74708f4ff24f683f6d" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h", + "bytes": 3015, + "sha256": "b1ed271ed0b8aa8a93f57d8977709d60a210c12b6cffadd8d6bf57dde9fe5b0f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h", + "bytes": 3653, + "sha256": "961c8c913939e13d4852f3a570366c29fefdd40f0964dec97ee505f647586b8f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h", + "bytes": 4558, + "sha256": "db08d680f9cdc82f5e28833151567a9d08822b83bb400427d085d870a0dc809b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h", + "bytes": 13501, + "sha256": "82206f0bf9b69a31fc1a3b12fd8f49a872e58db4df289106580356a6fb688c06" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h", + "bytes": 9321, + "sha256": "17d8b5525f58ed35c4464cdade8e6464ef9dee9ef256a0eccc4eaeeddc520ed2" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h", + "bytes": 23434, + "sha256": "9d27e3418748299347a59ab42ff93c640e520ea31e0c3c76c61f5b5f93654086" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h", + "bytes": 3153, + "sha256": "1f6bf7e4d5ae00679873a10a3fe49b988fa4639b7260f875fb11230749d0c99c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h", + "bytes": 1993, + "sha256": "c114e1458772074b645a9f8c631afc9beffd0e229223576c3cdb340ab1827a2e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h", + "bytes": 16250, + "sha256": "0303929170f719d93b6cdfb7087ad5382cda932518e1d46adf044675194f9936" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h", + "bytes": 2189, + "sha256": "e98acf62a5e89d7bad5fc45b533abf35de9d9020217aec6f93bdbee51a7cf667" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h", + "bytes": 20076, + "sha256": "56b4b8df8e0985a35eccff9695b2b8da669369a358d36f50f82e82e9305cfc39" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h", + "bytes": 1596, + "sha256": "dfe0ce5c23a94e691cfc94d3a0acae1ae2dcc9b237b6ff7e1944429a90cec695" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h", + "bytes": 1382, + "sha256": "0675494730bc2bc17b41e19765e4a96dc360a6fe451a1890ac23355988f46bff" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h", + "bytes": 2693, + "sha256": "686244bfa730ce91232887f22bbb0b9413043a714424baffca2aa3bc90d6aea4" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h", + "bytes": 12244, + "sha256": "ac102cb63acafb40203090aeab74dacb8323bdfed728383112949911172bf4a4" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h", + "bytes": 5741, + "sha256": "fef76c10fe4494ebe014eb320ec641c97ffab633ce9adafbdda0e6c60e1cc5b7" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h", + "bytes": 21038, + "sha256": "c75c31bdb6fe8e0dbf142fdc299f8f26ec9dff754664e457a49d1de84c6e481b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h", + "bytes": 13805, + "sha256": "ab3389f2a5105969867a2dec77eb92f5dd55cfb3c46d26342e5724ee8e47a4dd" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h", + "bytes": 16180, + "sha256": "c82178ff485d0a61bdbd2450a9ee16caf57e83d98fd37e3326c53593c644e56e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h", + "bytes": 1717, + "sha256": "0057ddd2bc41631e6069b900bbd34b7895c248d620da2ecde6a07d06d7c77b9a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h", + "bytes": 1245, + "sha256": "fc606239667d9c5f0549db1d03e64bc1322d73072e92755dfcea9ea1556dde60" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h", + "bytes": 3524, + "sha256": "93d972961c2d41445faa2ff3ac5ac4aa9f68ac332e31ca32dd77b08ad8830b60" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h", + "bytes": 4155, + "sha256": "2312325be7943854df0faade267a89b1454cec041e035614d0499f8ce3a8c538" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h", + "bytes": 15499, + "sha256": "5796693bde1e7f9686a857964835bdc7bef1ff9c3a597ef24c1bd8e2eb398d9c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h", + "bytes": 3627, + "sha256": "52d3cc3697ccb7e70ed38655aee02914046ac9d11284278c2078c88df447d6ee" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h", + "bytes": 1032, + "sha256": "94afc3bfb186de354f97612522fd97b07d7b8a552d9d99665aec6804111dff21" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h", + "bytes": 13407, + "sha256": "f440020333fb36bfc709dad7271c43fdb96229f041dcd9248fa3e30193207afd" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h", + "bytes": 11340, + "sha256": "4a87c748bc1dbd27969a4ab1a1b50d44e512b3b6d939f07b582002be8c3bb0a9" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h", + "bytes": 26167, + "sha256": "221af11d18566ae92ed7a523a9a334bc33b1b2b6621e1b30df86544c6c1ffafd" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h", + "bytes": 1247, + "sha256": "14da5c4c72e867d3143078d6b2a4552ea0f69ddc3dc56046cf971e02b5b38811" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h", + "bytes": 6464, + "sha256": "c2a70ac4254fb197cb9c67a8167accc6dff3c46f5e324545e325acfc78b446c7" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h", + "bytes": 942, + "sha256": "1d32456e30d45648cc7c673b5b7164a41e6119336f1f2cd31bc99bf9b9be445a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h", + "bytes": 3073, + "sha256": "9ccf4af910f55ed3437a891768f184b8b71f13ebf343de0d79c9feb7f073f409" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def", + "bytes": 1894, + "sha256": "0088739f71d5b35269c58a6bc6ada86054fb572f241fa349913d36596bb4310b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h", + "bytes": 15775, + "sha256": "10ee424e78fa32a593879e9aee7cb6f6f40b00ef35d4bd10e7d880e0af7ec0d4" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h", + "bytes": 1418, + "sha256": "5f157e267c71b120a95972b98cc484e9b7615ce3f8db491760c1d5a8ae735ce8" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h", + "bytes": 1497, + "sha256": "bce4f75524046f39ccf160d8015b611f8e2a415814cbfe775c3abe6a66c1daa3" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h", + "bytes": 1256, + "sha256": "4115d7893cb95f4120f9ed831b1dd0388310ac85daeac5d23afaf91e2a8606a1" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h", + "bytes": 17392, + "sha256": "1018ca478ee084f9e62d3511e50ad23468fcfa97caedd07906f14da34a54235a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h", + "bytes": 47491, + "sha256": "42d108de1fa4567927e5723d516199b34fc863c06b219f8f7cf29361611eb392" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h", + "bytes": 6973, + "sha256": "83d8a07bd756470d5dbdb9d25e3d3d2740752062d48ca0178b58212216f44ece" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h", + "bytes": 3933, + "sha256": "c6d76d4363a59a8ad548d6617493eedf9c8602a80d5fa74607efe46f81fef84e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h", + "bytes": 11339, + "sha256": "82f0910f755cf53737df25fb67a19575be886b82b8d689ccca100bb17419473e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h", + "bytes": 1571, + "sha256": "fa88c5499e9b77f8661f20508ea78d9b818079251bc0e2744d40b1434f0b8542" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h", + "bytes": 1503, + "sha256": "8c4d9b5570c51f4e801e26b0c293e11d3732fe37879a06b0ce4c6b4a98a07532" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h", + "bytes": 5158, + "sha256": "a4ec8bb41e137b5bb5d8ff884d791b4f5dce3b28b724591bc1784bf5ed65264d" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h", + "bytes": 10870, + "sha256": "b7eae6b1d5defa242a37fd7408b5fdde55fbeea2ee0aec8d9759540c936ca2c0" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h", + "bytes": 10423, + "sha256": "a961105f9d8903b0d79afde450c2a47f69b6eac9b97aebf77d13cd1c2d9400a6" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h", + "bytes": 981, + "sha256": "69f3378a5afdc45a998194f4c708a567c789b2ce0c4fbe492c1bc40bbeabebd3" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h", + "bytes": 8983, + "sha256": "22962af6a3de149826a8e197ae153d7fffdf50f79dbd0845a794545f25286520" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h", + "bytes": 4972, + "sha256": "49461de35bd6bb6448d29aad95b9388d1a036374727943cbebedd341b8e644ef" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h", + "bytes": 2530, + "sha256": "dbb82424051d2ab36ad938d31704898b92c0f8999c4aa5e3756c15380133458e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h", + "bytes": 1662, + "sha256": "0b5ae839465cfb6be8bb75a1a5c64cd41a0be40bc63c9f38fbae7a8f1afd1523" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h", + "bytes": 4147, + "sha256": "2b2bb0081f8b72505e3ff1d2e25b6dab3c14a81755d82dc3a32fe7f4ffdb18b1" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h", + "bytes": 2144, + "sha256": "f70a149742d8b6d87cef7e2912fc3ccda35521d5ab9b47c566546cf322c9d261" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h", + "bytes": 6307, + "sha256": "0990e92eb8d346fd08962c6c27bbe9e56bf05399fd36ac790e556a67c911bdc5" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h", + "bytes": 8692, + "sha256": "adba924418190f95c63dd1c7a59922fcc18b6bd9d45faaf2ccd12b3191d8a706" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h", + "bytes": 3073, + "sha256": "73ccc7ad72242c1dade2d85c33e803942cbb50a9e59518bda6023da2392f47ea" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h", + "bytes": 2035, + "sha256": "9103654748691af3206f7dc00995e9c6c68b3c0cfe9a6294eaf760dfb888adb2" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h", + "bytes": 4384, + "sha256": "0f5bb2bab19be8fbabe84bbd037c39924f78015b9d2b6cf103045e1a86fa2cdb" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h", + "bytes": 2383, + "sha256": "8dd32ec528b1548e6f8e9e85f2412c808ee1c1a9b19942dbce67da7b6d3866f4" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h", + "bytes": 3886, + "sha256": "6e1ec1d0c60117eae8e0b011a85e7dc86f084751362e814decc8c4da1a90dd50" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h", + "bytes": 1934, + "sha256": "8930c781c5a7bac209dcd489c3466c59671a98e1ccaa7d3b3a3d2a536407ff68" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h", + "bytes": 1144, + "sha256": "445c7b6af465bd66f70e984a75edbf9b3d12f78a6a402a3b7c0da62af142fe1d" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h", + "bytes": 5477, + "sha256": "10f6662fd0ac0a31be74d407313e06d9276bd5b298d9be0a762e756eab629045" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h", + "bytes": 1163, + "sha256": "699116c82b3d4d27f237e7f7e6bb44d7ae82c64654b2b70d89dfc35a29f84738" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h", + "bytes": 4260, + "sha256": "fe58ab5c8b95a6c3975b35a075f00e3704f8519968a388c2989b30c0c62e6691" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def", + "bytes": 16974, + "sha256": "ec4c9c88546fa7cb5130de64224baea8f2f2481206a35825ff5f0725f7be611a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h", + "bytes": 161475, + "sha256": "3da4923eb7137e70e89af8e31b0164f5ac9ef3979b32b158fcc68787a091ff2d" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h", + "bytes": 1550, + "sha256": "13ca97e62e1046c0ee94573bc528f690f21d2c95508e2a4b52a4fd586a1bb448" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h", + "bytes": 3596, + "sha256": "6dc1920d67c95c1b72f3e530d8a3ebe926952e03c4248dd35d6c8492496ad543" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h", + "bytes": 4718, + "sha256": "15cc72ece04746fe84d86ca21b4fa473d3d8e9a63e6a187901c047e1d0d4e918" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h", + "bytes": 15067, + "sha256": "f49c5847a59f70bb7dcf6ce883fad82f88827da128412dc375e72e599a82d9cd" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h", + "bytes": 951, + "sha256": "1e7878693178734e3f7692e7da5f40ebd4439d7118a0451f9df0a432939f915b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h", + "bytes": 2293, + "sha256": "de279206c8ea8dc4a8078b32f0a38853ac6c03687e3dfddec70056bf66eb09a5" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h", + "bytes": 12497, + "sha256": "ccbae957b442f88d088d56aec8f8045b4057653c363115621c46a408658bae23" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h", + "bytes": 1531, + "sha256": "3a42edc31d2b1c4ac08ba1b3dca541ca909a964efa7646f7010e2ba21a3e30cd" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def", + "bytes": 2409, + "sha256": "1651b558793d700fe1a0c4ac2b9cac5c95ef2e4520f42df76938d6848a3b6add" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h", + "bytes": 1783, + "sha256": "1d2e65fdd1565fc90923304bdadeeb00384d7d617f28a23d7a76537a52e80893" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h", + "bytes": 330, + "sha256": "22dd0ab81baadd5a8d455b445855f341d419c7b0267beca235de00b7ec78e529" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def", + "bytes": 10158, + "sha256": "b8fe0ca2bae450a6cc5fab57ede4cfb1a59c98cc8451837a9e763d168d5f52df" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h", + "bytes": 176886, + "sha256": "02870fb8fd90e7115d52b7893ac70db6fdb19e0189f53235b2e65066c7203855" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h", + "bytes": 16063, + "sha256": "1531add71cd94bfd441313905a0e233cb3774e10491d634830b3be5d58271dfb" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h", + "bytes": 5627, + "sha256": "0e258c1fca60d02537913288f68f8234ed300e36c824d0515ebe3704436dffc2" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h", + "bytes": 10909, + "sha256": "e5cf42c2ad4515dc2a88fe984ec0281632689bcca2736f50dd2fdfeca546c948" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h", + "bytes": 5741, + "sha256": "876bf0e7c31a5378efc30e07fabbd55a94245bbf44ebf2f7784659e42d59a9a2" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h", + "bytes": 39688, + "sha256": "7115642e9761d2cd36f131d486a437a110b93158fb0899308b49793615b1b5b9" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h", + "bytes": 11226, + "sha256": "81c44e0537bfc87a0b9adcc52051236015f28b222fcaafb54f8815c9561b2479" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h", + "bytes": 7402, + "sha256": "a72e81a2c7322ca4fc9ba821c1cb38ae7c034cb402181e90d91841cd58b1f98e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h", + "bytes": 1121, + "sha256": "b81549f3331b5335b3129ac2091691aa658b5cf651ba1ba0082906af22997f54" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h", + "bytes": 6259, + "sha256": "1e7d3063c34061812fbdd950e90d858e0bc1cd5f67db144a75c3246aa7cf31bd" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h", + "bytes": 1808, + "sha256": "0003121f60d6cb02ed21c08709c10889e5df6891bdd8251290f0084e81bf2b4b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h", + "bytes": 1943, + "sha256": "61e4c9ea3990396756584ee9bc40ab081fa6204a48eeaa345c072f58a50a25ad" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h", + "bytes": 5584, + "sha256": "88a0e0f498a55f586df2845736b75e63b07802f169bcf8b1edf4fc95f8bedcc0" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h", + "bytes": 10745, + "sha256": "7a50e1ced617289ebe97acbaf61925b7de235e50d4b73d8575da288dd064a127" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h", + "bytes": 4271, + "sha256": "b09b75199f3721bd9538812d29ce8da67c95c992da9295b4c865d70b470aff7d" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h", + "bytes": 5203, + "sha256": "5b78e81a7226a9cbc6c664b2928c68ccb155132d4e764daaca2eb28590137856" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h", + "bytes": 1696, + "sha256": "747174cc153c2c9851a6acfa50586fa632db3696650b118a00fed85bac643b79" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h", + "bytes": 9147, + "sha256": "ab7c203f21122c26260141dffe2e3e3fc30c9ad6458b5c2be26029d4cf34280d" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h", + "bytes": 1881, + "sha256": "62a42864b5d1de2f6ba657663688b67018349a6ef133fe4f9feb312edbd4674f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h", + "bytes": 5586, + "sha256": "bcb77597a67ac6b68b24dbdae7dca900f611ad0a8a3a56ecf8af45378d890ca6" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h", + "bytes": 11715, + "sha256": "4baa3750012a67f0bb4600d7faea1a52c3c104779aaa8c64095f2d0581757902" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h", + "bytes": 310455, + "sha256": "83e0c3cbab2ce449e98b300a78667666b4f8a7cfe4d4b4cdfdd8af8019393774" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h", + "bytes": 526, + "sha256": "61f4af46470a090d3879482225cf5b44d7e63e6a62a2556c588758311a7b55d1" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h", + "bytes": 11204, + "sha256": "319b6341188b6ea532fc90a5a6ce26a0c87e35a2f4c7887f8db3a54f9d8f8ca3" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h", + "bytes": 1347390, + "sha256": "0e21173edfdcf406b300992e8bab9ef65ca3a98f42501d24efeffd057eedb218" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h", + "bytes": 24711, + "sha256": "206116a4fb7aedd76f936dfd3f23c5ba9a9c4cda1c787338dffcdc6feea6a78d" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h", + "bytes": 28560, + "sha256": "bc522aae00c541e890a64bec011e0df5c0952f76058e4418fde210051b4f9a16" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def", + "bytes": 3617, + "sha256": "a3c40aa47c1a61414ee539c2729d60cf027c7a654a576d6bfa9a4038d4cb8be5" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h", + "bytes": 2706, + "sha256": "8793b9ae709fa4abfa4b47b42f7d44e5b8a0c81babb947316f340e26c34bd955" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def", + "bytes": 22125, + "sha256": "b5bdb9d9d2d0c0836398ce22772e364881ef4999da68d6824a3c08bbebfb864a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h", + "bytes": 8988, + "sha256": "6e5d20a5735c158d71a3fea72e303455ce5a1ddb1964a1283084331645a923e2" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h", + "bytes": 2009, + "sha256": "4a313883acbe8bf6a6502e0f4a56863ab5916e8defe4828e98f5251af2536744" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h", + "bytes": 15911, + "sha256": "de4a896a9634f74046d2869acd9bd1cb53ee4f7f2ab55fe1ced41460f03417f1" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h", + "bytes": 11544, + "sha256": "496e275a5cece9993a70e8bd4a02344ed0e3ac7c50d1b81d9d1adc7d4094db2c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h", + "bytes": 21309, + "sha256": "9e7a92faa7ba1f266da868b0054480f19dd8d5291c479b4ba7132e9a35c27cb5" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h", + "bytes": 4289, + "sha256": "1e955d3f468551b8ad6ff25bba478f81e71ba94e61db38fb585772b5d2f935cb" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h", + "bytes": 22363, + "sha256": "fe51a1249a2d02f88c09e4d39f5b86bc4b93134c6afc94923fdee8c364fcbc69" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h", + "bytes": 5027, + "sha256": "22c65da14709b9b84e8086769f3897e4f48f05b59e975a3d241a495c09dc1d47" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h", + "bytes": 18540, + "sha256": "f3201c2d0c05d9f7a8ff5bf24b45c7900d74f826c73e8f1462abf2489e97e561" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h", + "bytes": 8891, + "sha256": "6b22f107252d8a4e3b93663584c2a43293e30630960369e6f3308c664c7ca4ae" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h", + "bytes": 41250, + "sha256": "c6ac7cb1c6c2b9b41e6351d823c97cd36ed192055f2bec5d5cf732816d6d00dc" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h", + "bytes": 3529, + "sha256": "399109d1b5ba4d7aba587233d2235c508453294b503640636bf5f65c4bec4fb5" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h", + "bytes": 1099, + "sha256": "43c907a42844c6b38799eae901b6046c4676dc27de8ebd5a5318a954f2520d4a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h", + "bytes": 9725, + "sha256": "5329e4984b4519090d52923ceca6c115f03b57327b2bda231c555f1b2b6dbde4" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h", + "bytes": 62259, + "sha256": "aec4d79bbac7c207b388b045b7b0d55947f13a9d5138a5ef57c8a36031248e02" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h", + "bytes": 9893, + "sha256": "d732461cda17464dbf997c189a28eb5c1ee94a8171be0ca2d7c68e5f148e4810" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h", + "bytes": 7700, + "sha256": "a7be36431cebf05709bd2a25f47381bc2786125bfc92f933edc28aab6761f8ca" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h", + "bytes": 5894, + "sha256": "f22917e2b2d4ee3b5d012e3fb9237f262ab7d7cc09f5b68f6abef02cb600afca" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h", + "bytes": 4705, + "sha256": "9ccf0c42d9ddb74401cac7be0c8bd17c3183be25d7b2af89069a98b8978272cf" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h", + "bytes": 16998, + "sha256": "95f149ef20e682d4877d5f2ebb2c9886b68750f8cf586b4a982e32566e67f488" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h", + "bytes": 27732, + "sha256": "5cef50bf7cd776d0bb62db9722163b98f4372e8ab256ceab28a6eabd0161f572" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h", + "bytes": 1327, + "sha256": "0bda2ffffab92ff1e08ad9d5d820a27f9379ee6782d2d27dcb753a5d6aea38db" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h", + "bytes": 2586, + "sha256": "4ede906245548b77c8039974408ad67b33f437b8d37863cdc8511ad21f053ea4" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h", + "bytes": 27873, + "sha256": "30bb26b74878d324cd3a495ae6913f9dc682fb8519c2acd55520e31f8456a6c1" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h", + "bytes": 1411, + "sha256": "3b38742bd304c485bb6ab53cacea9432e28205ac7a002a86330f0ae2380f2b3d" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h", + "bytes": 270, + "sha256": "281813879fe05668e6a3cc520ef294c7fd3f01f75dd67cb5e363c3ffdf37cb1b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h", + "bytes": 73241, + "sha256": "415f38816ece1ca843803ef3af96be9d9029e83fe9e76b53f0c33f74eeaee778" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h", + "bytes": 2486, + "sha256": "62fd366fc45f278a0957b5b9c456bf9967bf0dddb1903a9539df9f677abba3b2" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h", + "bytes": 893, + "sha256": "013de58934fbc12448fd9c684dd5c920be658c527ec61c4d5bff848d911373af" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h", + "bytes": 2081, + "sha256": "a17e1d7b54de7bbd12917d92e645bebf03466c4dff43a4fb3314b955f08d93d1" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h", + "bytes": 18811, + "sha256": "3e1e99bc6bab69cb9d3c81f4e84f13d15aec66a39597b1272f46e8e5d994982f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h", + "bytes": 1337, + "sha256": "a0dac0179283d66fecc9eef1245bfe9e220cadd855bb78238fb17938223a01d3" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h", + "bytes": 1599, + "sha256": "d0e82fdd93133a4165a7355e79d815cd0cd4e2d954f59d8141b9b9d1ba5d38c8" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h", + "bytes": 1595, + "sha256": "1c91506b7ee8fa420ef0852e90dc824e28dc367274d05fce88f188b9644a3473" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h", + "bytes": 38386, + "sha256": "8af2370c5da76c5a10a5f81dc7276d577d15d4427a45a4fc945056200f971ecd" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def", + "bytes": 975, + "sha256": "ee4847ee69fc0acd5f2c89176d2d523ada86876bf6ef97c37f05becf56c0a049" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def", + "bytes": 10847, + "sha256": "de584372b4942dd19796032f087b652ebe3425f4fdfa71ce16245a17c1f47506" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h", + "bytes": 35856, + "sha256": "4444cb35bf21f0fad623af174c34d3a23a1f7a239206148ada43f4ea422ab3ee" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h", + "bytes": 1529, + "sha256": "ec51d87d64f36a9d717d4a9b12810d43d60c16ca5527cda00de934f58bea6ffd" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h", + "bytes": 5409, + "sha256": "7e63418a7fcab4637c5fb29fe554149c0252ed43fcd70a9434af8d8157aff5d6" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h", + "bytes": 1280, + "sha256": "afa4dc890a08081d268b4b7512fbcbe46572dc71d6a026b465a8f6e2d9714451" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h", + "bytes": 18132, + "sha256": "95cc899b612bf1d4aceeb45663b2bbc34b8711d38c215b53ef2693fd73ddcc91" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h", + "bytes": 3401, + "sha256": "4c56869646d5db67ce1887862d23c13ac2453879ff8da57c67f5c4ad6594ff69" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h", + "bytes": 2500, + "sha256": "76be7522462077eba796115512b13778ebbff5be23babf8ca6cf19805d435014" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def", + "bytes": 2034, + "sha256": "51d097959c833480f573c1253da61cbf79495424ff3640c577837ee5e7fe5cbd" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h", + "bytes": 7617, + "sha256": "639957ca653d1b4a8caccabe94166b6e80dcc150dc7fef7120b03781d3e86338" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def", + "bytes": 3378, + "sha256": "c2b3a32369d99cc8260b985d647c5a4e506f0e1f95296062c8993ac33070799c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h", + "bytes": 2480, + "sha256": "3337eebd882f83dd0d81305cd886c20403267f9030966fe91e021eb793b71c85" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h", + "bytes": 22405, + "sha256": "d7b88aea7f6a9579f716a775fba2acbd119315e0975431c7644ec842495271d0" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def", + "bytes": 22884, + "sha256": "0ea9f9414e42aa2ebfca27d2a853594f13d30b63259303d77207e30d07ba67c6" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h", + "bytes": 1165, + "sha256": "865d458725ff3ac68fe6e34ac2d9d4a9df93cf0913469d9726f426a0fc9c25cc" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h", + "bytes": 5983, + "sha256": "7adf96139b70216876dc610b87a81c950f197811ba7e1249031dad9f0d1c00b5" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h", + "bytes": 1095, + "sha256": "db8f807abd15f86cbb42242e65b1e9a3447074aab6c98424b0a7ebf2dab8b80f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h", + "bytes": 1214, + "sha256": "244d40fb972c66f1accc14712cf0ee6575209e113431fc897af09b6ec59295b3" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h", + "bytes": 880, + "sha256": "74456a1c9e0f39545ffa3f6eb8b3c8cfebfe7a4ab954453c6a912f4e42fa1ca3" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h", + "bytes": 9423, + "sha256": "3a2ab8a4cdeba7790e0f246c37580c904dbf459e4d26a5775f82220ecefafc35" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h", + "bytes": 2540, + "sha256": "50fb15e8b6fb8980f80cffb19667e63740c0a0a4be47bb5e5e5ab59351a2362f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h", + "bytes": 3469, + "sha256": "29ed316ac1c28a4b1df96943e194d1d63ecfe761e9f6124a418b227cd84eb87e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h", + "bytes": 7104, + "sha256": "5ed43d77e9d7d2080d5d02a78260d759c5b14028431b28055e3d4564d5aecea1" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h", + "bytes": 1867, + "sha256": "10de46939ebad137748008605be8afb05dbceb4eb7e7c09d7ffe11f11c15897f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def", + "bytes": 22768, + "sha256": "423d37d7db5f9ae5be74b83d2d55a4acbbbaeaf56b293d68375f7a8f7d2f24dd" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h", + "bytes": 14408, + "sha256": "904dbf30e1cb2dae59e3ebca387fc9f4a278b1a5b468fa82c97d4a35e4e618cf" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h", + "bytes": 2047, + "sha256": "b8d4716945ae169e7be105dfe9b29417a907a308dbf2ccf629a6d8bbb7a31ef4" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h", + "bytes": 5152, + "sha256": "8884b6514baf87d199fe0c54da077e7209cc760022a83984c3f26d6a18ec4102" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "bytes": 504497, + "sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h", + "bytes": 1032, + "sha256": "b941dcb347c09c55364350b23ba666aa11d3665920a5d8d6778c4edf3454d983" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h", + "bytes": 1787, + "sha256": "cf69cae8fdfc06b026c6c9e6f73b6569012e368d595522dda263490c7323f0cd" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h", + "bytes": 20111, + "sha256": "679ae81edf5eb0f284eb8426d2d742b795d94c718d08fa0c6be0b000fed8f99b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h", + "bytes": 5035, + "sha256": "a19e5a6c8b0995d955972ac1e8e36f8e3e596def77e1071a66c5513110d8c984" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h", + "bytes": 25158, + "sha256": "0b1f52111356fa8ff77fd3cc829c2a14400a6322db3743f8293f6cba3ced544c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def", + "bytes": 24846, + "sha256": "a0e160ffd36c3ad1643ac4b29dffb0cbda42eb411cf8b29618df9917e586c5f4" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h", + "bytes": 4112, + "sha256": "14517703ae93aca191844dd07649820424e8c9f84cb17bab6a7058bdd91b9766" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def", + "bytes": 22106, + "sha256": "f0a89caaaec0c4e234e4840f5958cc59ed9189f18bf62309ea78bb68befd4fe6" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h", + "bytes": 18343, + "sha256": "ab883946bdbc9a8143b32bf970b3be836e070c62223974b25bffae4e747836ae" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h", + "bytes": 595, + "sha256": "240c05ad22d5f396015efdc5d0381c554ea79d62c8ece0402909501e59a5f1d4" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def", + "bytes": 3419, + "sha256": "6e5670c5c93a21ee20ddb1d96974c782cb51b988fe4bd66a8aed42768b88f54e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h", + "bytes": 6593, + "sha256": "bf17c85ab563f8cc6808993e83dd6ef727b282b8b4ede9749d635d23feb7753b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h", + "bytes": 9703, + "sha256": "d68d16e80c901ae7f30d93772645252e184268e91f38d8e6f461f1bdd22ef2b0" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h", + "bytes": 4328, + "sha256": "e2a969980945c688e2851b91a34bfd6658ee0aa5684a6e7cab5bd81bc2ab5d6a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h", + "bytes": 81531, + "sha256": "e66872fe193c40e9548de5effafec475f4d2d57ba0e69db2d2ee091c75a3caa3" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def", + "bytes": 10136, + "sha256": "f78bdbe1e3493092e5bd7544a6ec94e57e8ca280b6487d037312d68adb71a537" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h", + "bytes": 4752, + "sha256": "3a15c9bc658a8d773b9b741f9c52b5d08eb2461715478add8a0b7785a8a0c73a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h", + "bytes": 1260, + "sha256": "7a6f926a74485becf52e91b15cbdee5674b8470a4c5376179667e32c093430ab" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h", + "bytes": 16071, + "sha256": "605c2d11126def8d4b358a661000989448a6e6777e7b04536243cac1bbe4ee03" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h", + "bytes": 5643, + "sha256": "82d36d4eb489d6959e70dbaee1fb14b5d30a04a76840ded2df90572aa07d6885" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h", + "bytes": 1944, + "sha256": "ad87f6e71674db1ea93d24fd13c5f4ba4a44c910c438389d1a3f3ed0f944efef" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h", + "bytes": 39197, + "sha256": "daacfd3111a8ae358573e4edd62d06a765824feaa61ee6e3bfd2fce6719c715a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h", + "bytes": 2335, + "sha256": "00eeecf678a97ef2d8b27c21739580e2fb4b22758807b9351ba421338e5fc5c4" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h", + "bytes": 10757, + "sha256": "97143b407697c7e1dd429675660e8e5c262e90331c0cf3509ce5e998e8ed2bc8" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h", + "bytes": 1690, + "sha256": "ac66d273dd27ae1aa5672ba820129727c2b48110d7f780922a8d46ba26e12d02" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h", + "bytes": 13190, + "sha256": "b4d0bb94bf80c7cd2426e80d98b6063ceaf9fe77135e2323cde155d7ae4f20e7" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h", + "bytes": 1002, + "sha256": "087dae9fb10d3d7fca65278b2fcd521477058b91c3242a385853e22897497b81" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h", + "bytes": 21374, + "sha256": "64bb28d4bd9cee160cb7a165827ac901f8fc5c0fb0c7d0976885a37ab065119f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h", + "bytes": 1302, + "sha256": "d8f33b66341cd504dab1a29eebd8215a56e1769b57a4d62b6a9ad3ed1f7e5c0c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h", + "bytes": 18160, + "sha256": "65f535deb2993fa5960cc5f39477b710b3d6ebe5ab2d6b4165bd8d61acce560b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def", + "bytes": 10982, + "sha256": "71888a6aa0d904d1462f91a82810073231c8526d0f33a9a7a6d82cbb87cd7b3e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h", + "bytes": 877, + "sha256": "b58d176b75700c415cfad8218d7a2b08ee8004bda1cc22ba50dac9bd4978a38b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h", + "bytes": 3563, + "sha256": "1e36a6da41687305e5a97cb741594abb02b4d3fff577fcb8a62138c5822ebfaa" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h", + "bytes": 12634, + "sha256": "15d9102c0bf9155ba02c9a3806be502e9ac5f788a30c5e5f17dd873e7bf2bc5a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h", + "bytes": 4824, + "sha256": "2728d61c5e85efc5802bebd3310845d1e72f6554418810ae5edace22e49e0241" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h", + "bytes": 17659, + "sha256": "3abb0b6d1e9c65d38b61b185c88c5ebf37e51beaf2bf8912c3bdae3d2e46050b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h", + "bytes": 1981, + "sha256": "5830422162a9e2bf8aae757776bf399fc10dbaa599504343f4effc3737605b81" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h", + "bytes": 1050, + "sha256": "0398b05ae75bbaa2014dee32fe3b5614ba536c2a40e899985dc83c3db52feea8" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h", + "bytes": 8363, + "sha256": "4fa2852f3ea51e76acfbaca3d8297b94ad04d66cf4d2712a4475e17fba73a1d2" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h", + "bytes": 1991, + "sha256": "bea1a8cd10f40cc67634ead997999942231497ab46f2b5ae5bf07991c5efa230" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def", + "bytes": 61440, + "sha256": "0a5f215a95ba9df29b8fc743f7e477e2a493e16d2c91b5d5ad349846497e0764" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h", + "bytes": 160104, + "sha256": "141702d3ec4ef6829ad9f8082850a8d4cfb7483b7e1cbc500de4e34418bacb9c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h", + "bytes": 10466, + "sha256": "5f3a7b97630a0a51cc4a40175e162f0ff85b9cc1d547b140496bbf783efc7895" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h", + "bytes": 850, + "sha256": "28b8d35d5616c74c62fa31b5674318d7e0fba611f2bf06192fd636d0ea474b35" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h", + "bytes": 1797, + "sha256": "d5c4db6a98b8586c5f8dca8f225041caf4f3473ad95e54583866dae9f5a75a37" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h", + "bytes": 3848, + "sha256": "f5e36f8d27a594b77cb0530ba42ea335c9eceabdab7961675efd0d0c5304d539" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h", + "bytes": 884, + "sha256": "9582b29310769bfaabfe8c23c637c6d8e1376edd9ec9bcc176fb38b99848c206" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h", + "bytes": 5642, + "sha256": "e7e2202f4b96bc269c5a885812b4a919c92e64e196d106b0a8db4a93572e7bd3" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def", + "bytes": 33537, + "sha256": "e4069289ef31866fde4d1acdbd4a747e5d99586e058067b57b3343b0ea6f92ec" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h", + "bytes": 10369, + "sha256": "9958ea326e761f3ff9c9526c7223b076fc4b9cec7c9453f21083a320210eb2c5" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h", + "bytes": 61641, + "sha256": "dc1a6562fe614c64146430ed54600e933c30a5061cec75aea95e46083477743a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h", + "bytes": 6940, + "sha256": "d6d217bd789ab925858267a761092651c2fe7a9b5fd530ed9009ffa627e86aad" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h", + "bytes": 48949, + "sha256": "b17053bd5d174df238c8bc41be386f371ed678dc170e4cfb90dc5ba4d87e9e3a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h", + "bytes": 920, + "sha256": "c1f7a7e88904e6b3f2f64b94bd77dd2a27e986153047d5896099163227df8282" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h", + "bytes": 1493, + "sha256": "3662ed457aa27813ef3f0802f4d48dc039213a453f434e757808e4f6a4f8e03a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h", + "bytes": 3235, + "sha256": "feda33ddda3dd145deed464204db202a5c8075fe9fdc30fcdbcae2bb71a69983" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h", + "bytes": 15588, + "sha256": "d2cf01d8ef1465541dfbbf3bbd3fad1c32d2b35dc4d89d20f9095b54137d5719" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h", + "bytes": 7500, + "sha256": "bc5b78d700b487e41136fa6a422d603b033f853539c19cb03f4249b6e346c345" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h", + "bytes": 6205, + "sha256": "2eaff39957c8b8c6195b2eeebf1601d74aa203959545d223001b436311eab295" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h", + "bytes": 1165, + "sha256": "4c02ba20251963758c89b10899393b28662d9463c09f23cdf1a26b63c9f6726e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h", + "bytes": 1056, + "sha256": "aee11f55692dd8b2bda2d8a04c45b7d40379c55258dda5db1f03c3515631f8a0" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h", + "bytes": 6812, + "sha256": "c7eb94536c94fd08bcc4dc755716d6b4d975bd75f71f8186f3c0e510d449c5f2" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h", + "bytes": 1416, + "sha256": "ff8432c6862f0d119017626789c451dea9388b6ea74eba4f53186beabd135094" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h", + "bytes": 7360, + "sha256": "330f381fc436a17de505c30f977ef2a2ee4692e0b0dffdb4b752a37f14ebc4d0" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h", + "bytes": 16880, + "sha256": "a13bf0f6af9d93a621f33172d1b3219e0d650edd91ee16e876098bf305cb2d27" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h", + "bytes": 6238, + "sha256": "687795657e77a2e1105c5b92cb43e3c1de4a4ee53adcabe25ceceebbac42bb1d" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h", + "bytes": 6565, + "sha256": "394ea5f83e88fdb19768e37b092e72117a9c1cb60e0af28042372d18fe702f47" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h", + "bytes": 29828, + "sha256": "13a470f159f7f31c4495af6fc4ac50d7d82d8e31555ced66ae4444ddb261df84" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h", + "bytes": 1039, + "sha256": "2a1314704e22f2752d1cf83d62ead4d5eb416839b438c4cad9410e5483b2a72a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h", + "bytes": 2846, + "sha256": "66de3aed44d510172a51dcd99cb2445354d12fa5c09fde43eb4048e5e2f32897" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h", + "bytes": 2034, + "sha256": "234685ba8f567bf512c870e4cc462249937cb9c50c4845c8159009b827e2af03" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h", + "bytes": 5099, + "sha256": "7052fef7a6781651860182890449787cddc5731f2e8a8b34ec9d3dc576873e67" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h", + "bytes": 3695, + "sha256": "16e3d55112b0e7911eba6dad328e1a25fe4c607e35b6c33349b742db6a8a0960" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h", + "bytes": 1491, + "sha256": "9665167dd0003d60d4b72880ce61a477f1560c972d6097a2cdaa24e03d6cacd2" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h", + "bytes": 4744, + "sha256": "c8ea502e9cd745da74c655fcfad7df2fc43733bb808d3742b7125715cc41cdbf" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h", + "bytes": 27511, + "sha256": "04876299a21be45ce7543996f24d0c327114b657f59bf5736fa2fd48037724d2" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h", + "bytes": 2076, + "sha256": "43d5903da1b24590ca92a4d3823de558f100d39ad9b7efc1ca11b28c82473eff" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h", + "bytes": 5041, + "sha256": "367e3314b662a799a41d0403d2bb530aef3a8717e6e02908a6c51a89d1785a85" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h", + "bytes": 3734, + "sha256": "7223c38982d25c4f205f961f82c6a2aa95fadcae197b96a5f75d6d0eb635820c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def", + "bytes": 27679, + "sha256": "0968daba86d57430f56d28c37c797431ff3dc3efb11142562d9fa08d68dd86f0" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h", + "bytes": 42057, + "sha256": "18acfc4265c88125ae0a190e31c2e865a7726c9fdcc057990e7bfeaa6e62c56c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h", + "bytes": 4265, + "sha256": "42926ae26ac08524751c635312c73d9e6fd6e95d05a61656ebc6bd0663a4fbf1" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h", + "bytes": 3413, + "sha256": "91615ca3c302e3d40c9eba9df5829ef15e0f6346c7ef57d85ed1a6179d181860" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h", + "bytes": 4060, + "sha256": "614946cc27b8d6b45efdebd6b8b92bba70b65161ad0e963f64891c106bd1ab62" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def", + "bytes": 5385, + "sha256": "86f6e27cf0de4f2b3b85faed07421312087dbf34ab1da0dfe0adc3aa0387ed1d" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def", + "bytes": 324195, + "sha256": "4b09a0f3c94866ecfdaedcdf645e2e469a787b145dfc4bd3139e91a3cc5d4b7b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h", + "bytes": 9322, + "sha256": "196b78a30e006a4e6a4aa213a5b9f60dac0939ad7f7f60ce6418374488efca6c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h", + "bytes": 14065, + "sha256": "63f067f4e08cbe1c4163e72263ab11db4f40904456a14f19a7ebac777db5154a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def", + "bytes": 18489, + "sha256": "ad36ee0acd2323014fd3030bed61940b5701eee1ac0aabbe8779eb444e443792" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h", + "bytes": 7825, + "sha256": "2503c672b155608463651164ec3b7920ef9e3c3aedf327579890e6f6dea53747" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h", + "bytes": 15692, + "sha256": "9ab00124c52294df63f666481b6201303792fd97155d67981bc74594ddf9157c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "bytes": 1184, + "sha256": "d384ae33a23985613c839280f1b4845b3415c055e32209c6bc795a4d594f018f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "bytes": 178, + "sha256": "d8729f976710961c7d34afc545be1c22dfb654be3425ce379511c6f837979141" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h", + "bytes": 2853, + "sha256": "94db68428a4204367beebe06af7039204b0a1585b192dbe3fbc9e2c2e48aca3e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h", + "bytes": 903, + "sha256": "70fc64b69e8c6e69ba860d3611bff17183fac32f2d2a6050383d1627f87aef08" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h", + "bytes": 1937, + "sha256": "48614ce6d1de0747f00f7e7d6688194aaee8b1cc95e198b8b9081f0001c0bef3" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h", + "bytes": 3892, + "sha256": "a3d786765e5e8c9db578aa39b36f0ace394eb235d89c9b84709b4283e99ee361" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h", + "bytes": 5902, + "sha256": "d30ad2d326dc52920c97453044915ce687b15493d08c80bc4e14e7e8ff2ad510" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h", + "bytes": 1207, + "sha256": "24615be2b839893f983c6bd916065b7dbf708f5a8517c5905d8571d6527fa81e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h", + "bytes": 23198, + "sha256": "81664ae9afd3c1ecd324c6bbdea316238e0ea2c088d7f01b71904d633725a39d" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h", + "bytes": 7260, + "sha256": "67399acc52c905646efc22970c64b744431ad89781dd5fe471ef0b2705bdb928" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h", + "bytes": 69861, + "sha256": "72c8a34ea0beb747d9b4ae82cc8c206dce09ed0de5b6a2e0e147df7c959274dc" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h", + "bytes": 25753, + "sha256": "b5db489b124efdadac5fdb41ae52b43b833e2068bfe30e8d7bb32378ebebe324" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h", + "bytes": 1898, + "sha256": "e2682f2108c770b4cff558b4a94f34e727b63bc27952e35bb429d8bc10e9c45c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h", + "bytes": 2740, + "sha256": "686c6456f152eebb3165a614a7bb9a023c9288321b45deb8dc48fcc9b7001e71" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h", + "bytes": 2882, + "sha256": "d47a731de33f8ec5b39d1766423dd09f2c96166a97136a9ef3d2d45db2219cf1" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h", + "bytes": 2494, + "sha256": "175e52e40899cf68d11021d9003601f4504e3645f77ab5660c469d34295055c3" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h", + "bytes": 1248, + "sha256": "e849d35541688b86c31bc9b8f680644932badbe00390fa10012b1f278d2bdc76" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h", + "bytes": 1922, + "sha256": "ee8dc16a1108fc9fd35fcd814fd4a46a4d91a3300199ebeee46cf6bd3d2b7dcb" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h", + "bytes": 845, + "sha256": "4044e2f7b1a8b7c71ea1a4044ad475654b8deaa774515e79e93986b7ba22238f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h", + "bytes": 8783, + "sha256": "94fd38febea66c112ae50f7a40614f9d6a4a6891ce1e0c2ce9fabaf7b5b7dba5" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h", + "bytes": 1967, + "sha256": "281eb66117fa6e31a1c2a8dec62e6b7cd89fd254fce5c0b661e7251c7413d636" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h", + "bytes": 4209, + "sha256": "43f2b75441dddf1761845ccf1ba5801ec6cbe28c12b4d49247b6a0e28d0df0ee" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h", + "bytes": 2239, + "sha256": "3ab97eca2ae52177f8569ca13446c7e042ac120dd5e268f7a350729460cca265" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h", + "bytes": 2743, + "sha256": "4fad928b3dc11362c2a40724cb2c57ab833a094289ed0a543769eafc8984884f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h", + "bytes": 1119, + "sha256": "92d5051512088e6eec0cc59ac147f6341324424b3097b007cc6fdddc3f5bcedf" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h", + "bytes": 2731, + "sha256": "8f3c9e4aaa6c024e292ecec67bfd1f1dddc53a03ee3aa0d1800e8473ad2fd307" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h", + "bytes": 864, + "sha256": "93e5e2a2451f179f82e0bbb9e05212f86409afc0c8819449907eee3ffbf7ba61" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h", + "bytes": 33360, + "sha256": "5c0d48970ef2feff54f820cedbd2ec03ed4429ebe01fcd418a0798fa2cdeb732" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h", + "bytes": 2233, + "sha256": "0e30ea4024a1137cfbc0a9f111a95af10b81229f382d5c78ab7f3a758b5df4b0" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h", + "bytes": 2611, + "sha256": "55946e594a4411c6952e58ba0c48c0fc9b04f2d5343f4569c24e491a06c911a8" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h", + "bytes": 2639, + "sha256": "ac1fe4387efb0886401aab91be2a163eaef8e19d4c86edfc01ce7cabb46f2c89" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h", + "bytes": 1257, + "sha256": "4de1ecd294cf8f170d9125bcc679e7e97cf6eddf196fbad815b1dcc09d7f0974" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h", + "bytes": 1660, + "sha256": "2e5ee918aadfad4eab3110ac015b58f0a422322837428b820d0fcad31e6f7c2a" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h", + "bytes": 1370, + "sha256": "fdcc413bd1c26e60ced05955775249adc50d845cc717e1232b771cbc46a10cd2" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h", + "bytes": 7908, + "sha256": "e480abea7e5453f93991d93b68eba5f24172cd5025edc69d1903ecaac3377ab4" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h", + "bytes": 1080, + "sha256": "4aa56ee7936b971cdcfcfe02d8e50b7c73898148d0b13c900998cce4b3e3826c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h", + "bytes": 925, + "sha256": "d57695859d946a0a08b6ba67647d9f019719e7ae28d00aafa9090bb1ffd23821" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h", + "bytes": 783, + "sha256": "39890e388df9c1e58ea3231fd8b62e83cdc94eacd9ca34697202432f512000fb" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h", + "bytes": 866, + "sha256": "19e58e107972cbc4dd0c476501c9f22cfc8928e44656d5a0b63406a69fe1147f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h", + "bytes": 1190, + "sha256": "e3471ff30a880e9fb0b20536337e1c47ad81e95191a0d7a9d3f68769a446cc79" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h", + "bytes": 9848, + "sha256": "7eb1f5add837f73a595b6f99be137f4504bc78a2545d5113a4ac04c7dd40aee7" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h", + "bytes": 1487, + "sha256": "27b4830de909093ea950ef749f2bec5262292e20085e9b3f03e9c7560cf355ac" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h", + "bytes": 2216, + "sha256": "9180801003efef48b9ac6478249a61a2007cfbdb6ca6869bf6a843878ff04779" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h", + "bytes": 3026, + "sha256": "7210f337e00c14ab24f5e12a0548fe10ddd9a116fab8a026d1d4af53a3d1756b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h", + "bytes": 2892, + "sha256": "2dc61c12421e0fd2556fcbb4a3f09d983ec09487f443543dfd1f399e49970cdc" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h", + "bytes": 948, + "sha256": "d691cd0b7efc3973eb7643177b9fb7fc703f535f8d3a2feb8721769838e57fb1" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h", + "bytes": 3960, + "sha256": "a5952f0283876d4936a5f2d4b02986501eecb1648ae6df9aa1377cbe702b1c52" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h", + "bytes": 4169, + "sha256": "1999fca83931fd4e130324c8c322eeb584fc0ee93f2d5f792588fcc9b473f6ed" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h", + "bytes": 1298, + "sha256": "6cc2f85619723a929dd0769d5072625b5fd8d50edc7421e70fff43edb7169d94" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h", + "bytes": 10715, + "sha256": "321de0f0993e17553bb211f21edff5b4f1c11738d5551116f3b06a8393ce41f9" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h", + "bytes": 6924, + "sha256": "5fc7bd13d7161135656c45c6a9c7e3e2e76677cb871bd37306c2334a890cad9c" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h", + "bytes": 1524, + "sha256": "715849f809a9ec47d18dc8dce4bdef3b4e80327d0ffc711e4aca057142af2f34" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h", + "bytes": 917, + "sha256": "e56a2853b629f9b88dde117aca2213d76329ddcd20a88536abf9cbc0bf3e1828" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h", + "bytes": 4235, + "sha256": "256730ffac7856335a8ac3a080822cecfa7f330d77377fb806c370c84869ba92" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h", + "bytes": 4840, + "sha256": "d00fc4ff751939442bb13200c245be5c7ab180a7f72e7b319b20548e918612b3" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h", + "bytes": 3558, + "sha256": "cad297231afa3fe7cc90d66cd8507d13c037e5d1818e2b7d799b9a32d6e6efe9" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h", + "bytes": 4832, + "sha256": "9137c7fe117fec9307874e6171240c6187918b3196b22565af89ec9c944f5349" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h", + "bytes": 1144, + "sha256": "5a26f5d6c0099b6f338ed8b99cc028567836d8efdc08e26af4fb513456cec2f2" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h", + "bytes": 4350, + "sha256": "e0eef442b4a28d84342c008c03db818e0321a1e86a2308d5ab3fdde9a2786b58" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h", + "bytes": 28402, + "sha256": "c57a807c586b9bc8badbeb0efca1998a5b02ddd772685fa45affa05d775d3ab5" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h", + "bytes": 4401, + "sha256": "4bf2efbba9eff4a89fc749d3e8eeeab4214413d01b7708fe398138fbbf445469" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h", + "bytes": 94603, + "sha256": "d8c0f2d77952e655c40122a1f81d332bbbf3b60d8a0e6e35a65b709f9fa82018" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h", + "bytes": 1736, + "sha256": "48a0510e236793b2b45f59b153f12e99e354ae7f522723859b6572c3890cf297" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def", + "bytes": 72523, + "sha256": "f70aa7747e4e7eb16e7b8e5b980ce7aad073f3eab04b0490b04757075751557f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h", + "bytes": 263001, + "sha256": "e43b7e2a14af9d9f70d3665117a7c56022dc024e9d7d5342515480b661c1a4fb" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def", + "bytes": 2857, + "sha256": "ff574f07a550c10b969f9bc6e807cff29dd42165f5b4576346d582f61eb977d2" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h", + "bytes": 2074, + "sha256": "d510e8c6a7577927866daa8ac11d119c0053aed4fd06b36e69d46094ac142ee3" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h", + "bytes": 876, + "sha256": "0d38c04e33b5148e3b942a927cc527426b78ac11ed3ceb4f3269b021f90aa016" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h", + "bytes": 3858, + "sha256": "aca99131c169f3ad2b1dbdc9ea8212af4db1b60dea6504a4a898f3b709ee6fe8" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h", + "bytes": 1507, + "sha256": "79619807973c2ef13c659fa7b489d03b4f0d33999abdc6e764f24361d2b0175b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h", + "bytes": 16565, + "sha256": "d0fa2a152a1ccae57677a247f8d3d0e0b7587b8c278b0a25599d93cfec060474" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h", + "bytes": 2454, + "sha256": "169467579ba4adbfd804265ac2bd7359ef16c79391fa6602f4d7f2033061bf6b" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h", + "bytes": 4631, + "sha256": "bb80a90527416b1719df1eb3f393a33a0dc0ea441192dacc83e58c69574f52da" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h", + "bytes": 2013, + "sha256": "89196b6ff62143633c6a518df1836c04bb72e30afb08224e0dbdd75128069274" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h", + "bytes": 4832, + "sha256": "8d7d741b2c71b3c7e40e6391815f74052648c61c43ab79119776e74722dcba04" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h", + "bytes": 5296, + "sha256": "f1393db4cd32c375b0ce3214da19c2349b24b7fa74d40afa387df74e30927dd1" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h", + "bytes": 1408, + "sha256": "8212903dda4dede929ebe9dce14e52a435e858d377e1e2e32431d307f3a7c9c9" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h", + "bytes": 6554, + "sha256": "f6cde179c507cc69043d9dd279051d105070ac06dcda4b053e85b0c24763e3b4" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h", + "bytes": 35834, + "sha256": "7e3b1ccb1268f0a3068503204f0de815e4bf7744b1c519f47f1a9673e10a3188" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h", + "bytes": 17660, + "sha256": "803a42ad4f6efc53d2e7da1e0860f2bf1431e30a274e2208d32c4c8db4609005" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h", + "bytes": 3366, + "sha256": "20af661619be8b238c7e86125de78ee17ff8c1df86ba14819bc2f5d8c5d236b8" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h", + "bytes": 5396, + "sha256": "1615a0e5983a6ae79f9cd34924a43c6b6bc5bc63cd0bd8f688775fc7b41c1b8f" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h", + "bytes": 68181, + "sha256": "3b4f5d131eaaf0b85bd32d96b745296829e8b041e51f3edef9b315d95778e84e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h", + "bytes": 20401, + "sha256": "f8cd58ea9fb282c54da1234af84636a1c3a048ec945f994376afcbc4e752c505" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h", + "bytes": 885, + "sha256": "fe068e90580c6b374a6edac2c134b2c4180d393a0147e373cefa33cf2869d1cc" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h", + "bytes": 6525, + "sha256": "99071fb0b5ecdf2815fbbfe637ed7c4b89dcfa1e524c5b818af845ca0db0cbb3" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h", + "bytes": 3388, + "sha256": "47dd314e60d70600a3f8dcc7a7ac53510c59dce4a6d25adb57fda92e8b315201" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h", + "bytes": 6900, + "sha256": "6bec4dbf6021c2e28cb381ac74f8fe642643c1b3089e0cf5ddd2adf96f672eb9" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h", + "bytes": 3351, + "sha256": "8ba13aba55db5db81c466ba6746d4f69f5d42fa2fc9b003bbbf5e85e9fe3ee06" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h", + "bytes": 1410, + "sha256": "09fe308dede2d6b4440bfab52635e68e4d6530e9a63d49824dec7e67bd8a7d4e" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h", + "bytes": 113480, + "sha256": "f68d0a5f637239065ad46e0f6bcc840d3491e33b391ed85844eb1983b9d34f81" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h", + "bytes": 1177, + "sha256": "586e49f5466bd85323f6b458ba8c1beb99bed3bfb5f62fbe8a2ad5bbb87c26b1" + }, + { + "path": "unit03/source-artifacts/rejected-v1-offset-metadata/INPUT-GATE-v1.json", + "bytes": 9412, + "sha256": "7176444d5d8bdd1d9610ad0322c0dab0c759811a7201c3e6bc71e7f7a35f6a53" + }, + { + "path": "unit03/source-artifacts/rejected-v1-offset-metadata/PLUGIN-AR-MEMBERS-v1.json", + "bytes": 974, + "sha256": "1ea9badd67a4e768106c515d1cae504845df9d75bfd4b38a83c44bf282bbcfe3" + }, + { + "path": "unit03/source-artifacts/rejected-v1-offset-metadata/PLUGIN-PAYLOAD-v1.json", + "bytes": 609942, + "sha256": "67e2d71f4affb83e458f226786e93361ec2cae3a3d19f9dd894d51d341ce61f7" + } + ] +} diff --git a/research/h25-gcc-generated-config-data/EXPORT-CHECK-ONLY.txt b/research/h25-gcc-generated-config-data/EXPORT-CHECK-ONLY.txt new file mode 100644 index 0000000000..a6c9fb298a --- /dev/null +++ b/research/h25-gcc-generated-config-data/EXPORT-CHECK-ONLY.txt @@ -0,0 +1 @@ +PASS_PACKAGE_METADATA_AND_PINS (not a mathematical acceptance check) diff --git a/research/h25-gcc-generated-config-data/EXPORT-PURE-TESTS.txt b/research/h25-gcc-generated-config-data/EXPORT-PURE-TESTS.txt new file mode 100644 index 0000000000..8ae8af882e --- /dev/null +++ b/research/h25-gcc-generated-config-data/EXPORT-PURE-TESTS.txt @@ -0,0 +1,73 @@ +CHECK Package-local byte identities and 29 repaired pure finite controls; no original implementation imports, compiler/runtime execution, acquisition or archive decompression. +test_actual_archive_reparse_uses_strict_boundaries (test_configured_data_v1.ActualPublishedDataControls.test_actual_archive_reparse_uses_strict_boundaries) ... ok +test_actual_distro_defines_and_declarations_do_not_mint_initialisers (test_configured_data_v1.ActualPublishedDataControls.test_actual_distro_defines_and_declarations_do_not_mint_initialisers) ... ok +test_changed_compiler_size_binding_report_refused (test_configured_data_v1.ActualPublishedDataControls.test_changed_compiler_size_binding_report_refused) ... ok +test_configargs_corroborates_driver_and_retains_ordered_defaults (test_configured_data_v1.ActualPublishedDataControls.test_configargs_corroborates_driver_and_retains_ordered_defaults) ... ok +test_earlier_stage_cannot_satisfy_missing_final_stage_cell (test_configured_data_v1.ActualPublishedDataControls.test_earlier_stage_cannot_satisfy_missing_final_stage_cell) ... ok +test_forged_metadata_cannot_mint_pinned_report_equality (test_configured_data_v1.ActualPublishedDataControls.test_forged_metadata_cannot_mint_pinned_report_equality) ... ok +test_generated_change_rejected_despite_identical_configure_text (test_configured_data_v1.ActualPublishedDataControls.test_generated_change_rejected_despite_identical_configure_text) ... ok +test_missing_driver_defines_are_empty_observations_not_guessed_values (test_configured_data_v1.ActualPublishedDataControls.test_missing_driver_defines_are_empty_observations_not_guessed_values) ... ok +test_missing_metadata_and_changed_report_bytes_refused (test_configured_data_v1.ActualPublishedDataControls.test_missing_metadata_and_changed_report_bytes_refused) ... ok +test_published_tm_order_and_conditions (test_configured_data_v1.ActualPublishedDataControls.test_published_tm_order_and_conditions) ... ok +test_same_version_another_record_body_rejected (test_configured_data_v1.ActualPublishedDataControls.test_same_version_another_record_body_rejected) ... ok +test_ar_layout_metadata_and_payloads_preserved (test_configured_data_v1.ArchiveControls.test_ar_layout_metadata_and_payloads_preserved) ... ok +test_duplicate_ar_and_truncation_refused (test_configured_data_v1.ArchiveControls.test_duplicate_ar_and_truncation_refused) ... ok +test_multi_member_offsets_with_independent_odd_padding_vector (test_configured_data_v1.ArchiveControls.test_multi_member_offsets_with_independent_odd_padding_vector) ... ok +test_normalized_duplicate_tar_path_refused (test_configured_data_v1.ArchiveControls.test_normalized_duplicate_tar_path_refused) ... ok +test_tar_symlink_kind_and_alias_retained (test_configured_data_v1.ArchiveControls.test_tar_symlink_kind_and_alias_retained) ... ok +test_tar_traversal_and_hidden_tail_refused (test_configured_data_v1.ArchiveControls.test_tar_traversal_and_hidden_tail_refused) ... ok +test_control_paragraph_and_unsafe_row_refused (test_configured_data_v1.AssociationControls.test_control_paragraph_and_unsafe_row_refused) ... ok +test_duplicate_checksum_filenames_refused (test_configured_data_v1.AssociationControls.test_duplicate_checksum_filenames_refused) ... ok +test_duplicate_fields_case_insensitive_refused (test_configured_data_v1.AssociationControls.test_duplicate_fields_case_insensitive_refused) ... ok +test_missing_exact_filename_refused (test_configured_data_v1.AssociationControls.test_missing_exact_filename_refused) ... ok +test_same_build_rows_agree (test_configured_data_v1.AssociationControls.test_same_build_rows_agree) ... ok +test_same_version_different_package_row_refused (test_configured_data_v1.AssociationControls.test_same_version_different_package_row_refused) ... ok +test_branches_stay_explicit_and_malformed_is_refused (test_configured_data_v1.HeaderDataControls.test_branches_stay_explicit_and_malformed_is_refused) ... ok +test_c_string_grammar_does_not_execute_or_guess (test_configured_data_v1.HeaderDataControls.test_c_string_grammar_does_not_execute_or_guess) ... ok +test_comments_and_splicing_control_file_operations (test_configured_data_v1.HeaderDataControls.test_comments_and_splicing_control_file_operations) ... ok +test_formfeed_is_not_a_fabricated_directive_line (test_configured_data_v1.HeaderDataControls.test_formfeed_is_not_a_fabricated_directive_line) ... ok +test_header_vars_preserves_repeats_and_rejects_make (test_configured_data_v1.HeaderDataControls.test_header_vars_preserves_repeats_and_rejects_make) ... ok +test_tm_reordering_preserves_changed_macro_precedence (test_configured_data_v1.HeaderDataControls.test_tm_reordering_preserves_changed_macro_precedence) ... ok + +---------------------------------------------------------------------- +Ran 29 tests in 4.390s + +OK +PASS_EXPORTED_BYTE_IDENTITIES_AND_29_PURE_CONTROLS +CHECK Same package-local integrity and 29 controls with Python optimization enabled. +test_actual_archive_reparse_uses_strict_boundaries (test_configured_data_v1.ActualPublishedDataControls.test_actual_archive_reparse_uses_strict_boundaries) ... ok +test_actual_distro_defines_and_declarations_do_not_mint_initialisers (test_configured_data_v1.ActualPublishedDataControls.test_actual_distro_defines_and_declarations_do_not_mint_initialisers) ... ok +test_changed_compiler_size_binding_report_refused (test_configured_data_v1.ActualPublishedDataControls.test_changed_compiler_size_binding_report_refused) ... ok +test_configargs_corroborates_driver_and_retains_ordered_defaults (test_configured_data_v1.ActualPublishedDataControls.test_configargs_corroborates_driver_and_retains_ordered_defaults) ... ok +test_earlier_stage_cannot_satisfy_missing_final_stage_cell (test_configured_data_v1.ActualPublishedDataControls.test_earlier_stage_cannot_satisfy_missing_final_stage_cell) ... ok +test_forged_metadata_cannot_mint_pinned_report_equality (test_configured_data_v1.ActualPublishedDataControls.test_forged_metadata_cannot_mint_pinned_report_equality) ... ok +test_generated_change_rejected_despite_identical_configure_text (test_configured_data_v1.ActualPublishedDataControls.test_generated_change_rejected_despite_identical_configure_text) ... ok +test_missing_driver_defines_are_empty_observations_not_guessed_values (test_configured_data_v1.ActualPublishedDataControls.test_missing_driver_defines_are_empty_observations_not_guessed_values) ... ok +test_missing_metadata_and_changed_report_bytes_refused (test_configured_data_v1.ActualPublishedDataControls.test_missing_metadata_and_changed_report_bytes_refused) ... ok +test_published_tm_order_and_conditions (test_configured_data_v1.ActualPublishedDataControls.test_published_tm_order_and_conditions) ... ok +test_same_version_another_record_body_rejected (test_configured_data_v1.ActualPublishedDataControls.test_same_version_another_record_body_rejected) ... ok +test_ar_layout_metadata_and_payloads_preserved (test_configured_data_v1.ArchiveControls.test_ar_layout_metadata_and_payloads_preserved) ... ok +test_duplicate_ar_and_truncation_refused (test_configured_data_v1.ArchiveControls.test_duplicate_ar_and_truncation_refused) ... ok +test_multi_member_offsets_with_independent_odd_padding_vector (test_configured_data_v1.ArchiveControls.test_multi_member_offsets_with_independent_odd_padding_vector) ... ok +test_normalized_duplicate_tar_path_refused (test_configured_data_v1.ArchiveControls.test_normalized_duplicate_tar_path_refused) ... ok +test_tar_symlink_kind_and_alias_retained (test_configured_data_v1.ArchiveControls.test_tar_symlink_kind_and_alias_retained) ... ok +test_tar_traversal_and_hidden_tail_refused (test_configured_data_v1.ArchiveControls.test_tar_traversal_and_hidden_tail_refused) ... ok +test_control_paragraph_and_unsafe_row_refused (test_configured_data_v1.AssociationControls.test_control_paragraph_and_unsafe_row_refused) ... ok +test_duplicate_checksum_filenames_refused (test_configured_data_v1.AssociationControls.test_duplicate_checksum_filenames_refused) ... ok +test_duplicate_fields_case_insensitive_refused (test_configured_data_v1.AssociationControls.test_duplicate_fields_case_insensitive_refused) ... ok +test_missing_exact_filename_refused (test_configured_data_v1.AssociationControls.test_missing_exact_filename_refused) ... ok +test_same_build_rows_agree (test_configured_data_v1.AssociationControls.test_same_build_rows_agree) ... ok +test_same_version_different_package_row_refused (test_configured_data_v1.AssociationControls.test_same_version_different_package_row_refused) ... ok +test_branches_stay_explicit_and_malformed_is_refused (test_configured_data_v1.HeaderDataControls.test_branches_stay_explicit_and_malformed_is_refused) ... ok +test_c_string_grammar_does_not_execute_or_guess (test_configured_data_v1.HeaderDataControls.test_c_string_grammar_does_not_execute_or_guess) ... ok +test_comments_and_splicing_control_file_operations (test_configured_data_v1.HeaderDataControls.test_comments_and_splicing_control_file_operations) ... ok +test_formfeed_is_not_a_fabricated_directive_line (test_configured_data_v1.HeaderDataControls.test_formfeed_is_not_a_fabricated_directive_line) ... ok +test_header_vars_preserves_repeats_and_rejects_make (test_configured_data_v1.HeaderDataControls.test_header_vars_preserves_repeats_and_rejects_make) ... ok +test_tm_reordering_preserves_changed_macro_precedence (test_configured_data_v1.HeaderDataControls.test_tm_reordering_preserves_changed_macro_precedence) ... ok + +---------------------------------------------------------------------- +Ran 29 tests in 4.555s + +OK +PASS_EXPORTED_BYTE_IDENTITIES_AND_29_PURE_CONTROLS +PASS_REGISTERED_RESEARCH_PACKAGE research/h25-gcc-generated-config-data outcome=partial diff --git a/research/h25-gcc-generated-config-data/EXPORT-VALIDATION.json b/research/h25-gcc-generated-config-data/EXPORT-VALIDATION.json new file mode 100644 index 0000000000..54aa9ba38e --- /dev/null +++ b/research/h25-gcc-generated-config-data/EXPORT-VALIDATION.json @@ -0,0 +1,80 @@ +{ + "schema": "h25-generated-config-export-validation-v1", + "observed_utc": "2026-11-02T09:51:37.113481+00:00", + "scope": "Frozen package export checks only; original source component remains closed.", + "python": "3.12.3", + "status": "PASS_EXPORT_METADATA_AND_REGISTERED_PURE_TESTS", + "commands": [ + { + "argv": [ + "python3.12", + "-B", + "scripts/research_package.py", + "--package", + "research/h25-gcc-generated-config-data", + "--check-only" + ], + "cwd": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/publication-generated-v1", + "started_utc": "2026-11-02T09:50:04.653244+00:00", + "elapsed_seconds": 0.230988, + "returncode": 0, + "log": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/evidence/GENERATED-EXPORT-validation-01.txt" + }, + { + "argv": [ + "python3.12", + "-B", + "scripts/research_package.py", + "--package", + "research/h25-gcc-generated-config-data" + ], + "cwd": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/publication-generated-v1", + "started_utc": "2026-11-02T09:50:04.884300+00:00", + "elapsed_seconds": 9.99952, + "returncode": 0, + "log": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/evidence/GENERATED-EXPORT-validation-02.txt" + } + ], + "normal": { + "passed": 29, + "seconds": 4.39, + "flags": [ + "-I", + "-B", + "-S" + ] + }, + "optimized": { + "passed": 29, + "seconds": 4.555, + "flags": [ + "-I", + "-B", + "-S", + "-O" + ] + }, + "identities_checked_before_each_test_run": 523, + "reference_path_adaptations": [], + "original_imports": false, + "archive_decompression": false, + "acquisition": false, + "compiler_execution": false, + "runtime_qualification": false, + "full_C05": false, + "full_V03": false, + "effective_configuration": false, + "physical_costs": "OPEN_NOT_ZERO", + "logs": [ + { + "path": "EXPORT-CHECK-ONLY.txt", + "bytes": 69, + "sha256": "5873404cb4424dca918a00d503569f3c29a3190fd029a007e1afb2006399f647" + }, + { + "path": "EXPORT-PURE-TESTS.txt", + "bytes": 9659, + "sha256": "cc5a72cd27ee0c219d8eb7960ed2af66d194acd484ce35e7f1b85e9b9968c78e" + } + ] +} diff --git a/research/h25-gcc-generated-config-data/EXPORT-WORDING-CORRECTION.json b/research/h25-gcc-generated-config-data/EXPORT-WORDING-CORRECTION.json new file mode 100644 index 0000000000..8a8cf341a5 --- /dev/null +++ b/research/h25-gcc-generated-config-data/EXPORT-WORDING-CORRECTION.json @@ -0,0 +1,9 @@ +{ + "observed_utc": "2026-11-02T10:02:02.940697+00:00", + "reviewer": "publish_binding_packet cross-export review", + "scope": "Reporting/wording correction only; frozen source/copies unchanged", + "correction": "Rawv1acquisition ar offsets already correct;newpre-reviewparserhasoffsetclobber;v2independentlyrebuildsmetadata. Directory label is historicalbatch not invalidation.", + "v1_raw_report_sha256": "1ea9badd67a4e768106c515d1cae504845df9d75bfd4b38a83c44bf282bbcfe3", + "source_unit_reopened": false, + "accepted_local_milestones_delta": 0 +} diff --git a/research/h25-gcc-generated-config-data/NOTICE.md b/research/h25-gcc-generated-config-data/NOTICE.md new file mode 100644 index 0000000000..24ccdd7d81 --- /dev/null +++ b/research/h25-gcc-generated-config-data/NOTICE.md @@ -0,0 +1,9 @@ +# Attribution and retained licenses + +Chris R / Clear1nsight contributed the source-pinned C05/V03 investigation and export. ChatGPT Pro consultation and substantial OpenAI Codex / GPT-6.1 Sol Max assistance supported source analysis, implementation, finite controls, independent agent review and packaging. Agent review is scoped source/data review, not original runtime qualification. + +Predecessor lineage includes [PR6321](https://github.com/CrocSwap/integer-mult-bounds/pull/6321), [PR6029](https://github.com/CrocSwap/integer-mult-bounds/pull/6029) and [PR5864](https://github.com/CrocSwap/integer-mult-bounds/pull/5864). The immediately preceding input-constructor and parent-interface packages are [PR6362](https://github.com/CrocSwap/integer-mult-bounds/pull/6362) and [PR6363](https://github.com/CrocSwap/integer-mult-bounds/pull/6363). Parallel work by unpaidmoon using Cursor/Grok is credited at [PR6339](https://github.com/CrocSwap/integer-mult-bounds/pull/6339). These links identify lineage and overlap; this packet does not refresh hosted PR state. Douglas Colkitt retains attribution for the repository's research-package framework. + +GCC and distro source/header material retains all original copyright and per-file notices, including the Free Software Foundation and Debian/Ubuntu contributors. GCC source is distributed under its applicable GPL terms, with the GCC Runtime Library Exception where the source notice applies. Exact retained GPL-3 texts, Runtime Library Exception and Debian copyright are under `unit03/source-artifacts/licenses/`. The raw Debian package is retained as inert source/provenance data. Inclusion does not relicense its contents under Apache-2.0. New package glue and authored contribution are offered under the repository Apache-2.0 terms, subject to retained source-specific notices. + +`PLUGIN-PAYLOAD-v2.json` carries forward the immutable v1 tar observations; no fresh decoding is claimed. The rejected pre-review parser code remains under `pre-review-v1`. The historical batch directory `rejected-v1-offset-metadata` retains v1 raw reports whose archive offsets were already correct; the directory name does not make those raw observations faulty. V2 independently rebuilds and checks offset metadata; the demonstrated offset defect belongs to the pre-review parser code. Absolute source paths in historical reports are provenance records and are not executable replay dependencies. diff --git a/research/h25-gcc-generated-config-data/README.md b/research/h25-gcc-generated-config-data/README.md new file mode 100644 index 0000000000..7836aa29a7 --- /dev/null +++ b/research/h25-gcc-generated-config-data/README.md @@ -0,0 +1,36 @@ +# Frozen generated GCC configuration data and conditional directive recorder + +This partial source component preserves same-build published GCC 13 plugin configuration/header data and a bounded recorder of ordered conditional directives, literal includes and source cells. The active three Python files and every retained source/data artifact are byte-exact copies, identified in [SOURCE-ORIGIN.json](SOURCE-ORIGIN.json). [FREEZE-v2.json](unit03/gcc/FREEZE-v2.json) is frozen at SHA256 `215943ce4b7542b268cfb86241f2c195ec3b64c2fc13d69217c5083bfb18ab5e`; [DERIVATION-v2.md](unit03/gcc/DERIVATION-v2.md) records the accepted source facts and remaining obligations. Source work closed at 2026-11-02T09:42:53.047075Z. This export introduces no research extension or new original budget. + +The recorder preserves 21 literal `tm.h` includes, 11 guarded distro define operations, five configure-default entries, and a literal graph of 38 members and 38 edges. One angle include remains unresolved: `options.h:12419`, ``, guarded by `ifndef OPTIONS_H` and `ifdef GCC_C_COMMON_C`. All guards remain uninterpreted. The recorder is not a C preprocessor evaluator and does not establish effective compiler configuration. + +The exact raw Debian package is 1,451,870 bytes, SHA256 `3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f`. Both retained exact amd64 changes/buildinfo records associate that filename, size and digest with the build. Signatures are unverified. Same-build SHA row association establishes neither rebuilt equivalence nor complete installed compiler semantics. The authenticated embedded compiler report is retained and checked as report data; the original compiler is not freshly rehashed or executed by these tests. + +The frozen acquisition selected 474 retained regular members: all 472 members in the header pinset and two control files. This is not the complete archive file set or original runtime source_files inventory. The package retains all 474, exact raw package bytes, build records, provenance, licenses, payload-v1/v2 records and unsuccessful acquisition/decoding evidence. Package-local replay consumes already decoded text and raw ar bytes; it requires no acquisition, installed compiler, libzstd or archive decompression. Historical decoding reports are carried forward without a new decoding milestone. Omitted large upstream source archives and absolute paths named by documentary reports are not live replay dependencies. + +Independent agent review rejected v1's clobbered ar header offset and unauthenticated embedded-report label. The frozen repaired delta separates numeric field positions, binds the exact report and compiler correspondence metadata, narrows the label to `configure_text_matches_pinned_embedded_report`, and retains concrete forged/missing/changed-report and offset controls. Exact rejected parser source and historical metadata remain available. The retained v1 acquisition ar report (SHA256 `1ea9badd67a4e768106c515d1cae504845df9d75bfd4b38a83c44bf282bbcfe3`) already has the correct actual offsets `(8,68)`, `(72,132)`, `(12374,12434)`; `rejected-v1-offset-metadata` labels the historical review batch, while the reproduced offset bug is in the new pre-review parser. This distinction also qualifies any broader wording retained in frozen historical derivations. The freeze records a scoped independent source/data PASS for the repaired delta; it does not imply original qualification. + +`full_C05=false`, `full_V03=false`, `effective_configuration=false`, original runtime admission false and original scientific activity credit added zero. Original 43.5% / 22 of 49 activities remains unchanged. There is no original compiler, Root, native, namespace or target execution, stage acceptance, measured speedup, complete physical invoice or new κ claim. Acquisition, decoding, hashing, review and publication costs remain **OPEN_NOT_ZERO**. Unknown costs are not zero. + +## Reproduction and scope + +Use Python 3.12 from the repository root: + +```sh +python3.12 scripts/research_package.py --package research/h25-gcc-generated-config-data --check-only +python3.12 scripts/research_package.py --package research/h25-gcc-generated-config-data +``` + +[VERIFY.json](VERIFY.json) registers the new package-local `run.py` in normal and `-O` modes, each with `-I -B -S` and a 60-second timeout. The thin entry point verifies exact copied identities then imports only the copied new `configured_data_v1`, `generated_config_v1` and their 29 pure tests. It never imports the originals or the inert retained repair/rejected sources. No reference-path adaptation was necessary. `inputs: []` is deliberate: every replay-consumed source/data input is inside this package. `SOURCES.json` pins only historical selected-record/card provenance at upstream base `7c49fe32c55de02c2c873655c804b16e4c3fef0a`; source/export identity is recorded separately in SOURCE-ORIGIN and does not assert full original local Git history. + +Actual export checks and results are retained in [EXPORT-VALIDATION.json](EXPORT-VALIDATION.json). Package preparation leaves commits, public delivery, hosted exact-head checks and scientific adoption to their separate review steps. + +## Open next questions + +The structured next questions and blockers are in [TASK.json](TASK.json). Final installed-stage `gcc.o`, `cppdefault.o`, `cppbuiltin.o`, `prefix.o` and `collect2.o` definitions remain unavailable after the retained HTTP503 build-log request. `specs.h`, `multilib.h` and option initialisers are missing. The smallest source follow-up is an independently authorized, source-pinned resolution of those exact final-stage cells; earlier-stage templates cannot fill them. + +Complete queries require effective configuration and compiler include-search/preprocessor semantics beyond this literal graph. Original C05/full V03 additionally require concrete parent/control-domain closure, actual namespace ownership, immutable input interval, runtime/source/stage admission and a complete paid invoice. The original acceptance boundary and fixed denominators remain in force. + +## Credit and licenses + +See [NOTICE.md](NOTICE.md) for Chris R / Clear1nsight, Pro/Codex/Sol Max, Douglas Colkitt, predecessor and parallel credit including PR6321/6029/5864 and unpaidmoon Cursor/Grok PR6339. GCC GPL source/header notices and full GPL3 / GCC Runtime Library Exception texts are retained. This focused packet adds a source/data component after PR6362/PR6363; it does not claim novelty from an empty overlap search or refresh public PR status. diff --git a/research/h25-gcc-generated-config-data/SOURCE-ORIGIN.json b/research/h25-gcc-generated-config-data/SOURCE-ORIGIN.json new file mode 100644 index 0000000000..97b89c4ea5 --- /dev/null +++ b/research/h25-gcc-generated-config-data/SOURCE-ORIGIN.json @@ -0,0 +1,4231 @@ +{ + "schema": "h25-generated-config-source-origin-v1", + "frozen_root": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z", + "frozen_source_closed_utc": "2026-11-02T09:42:53.047075+00:00", + "freeze_sha256": "215943ce4b7542b268cfb86241f2c195ec3b64c2fc13d69217c5083bfb18ab5e", + "export_observed_utc": "2026-11-02T09:49:45.623677+00:00", + "method": "Byte-exact copies only; preserved F-shaped paths; no original imports, new derivation, acquisition, decoding, compiler or runtime execution.", + "documentary_paths": "Absolute paths inside retained historical reports are inert provenance. Registered replay opens only the copied package-local paths. Reports that name omitted source artifacts are documentary and do not assert those artifacts were freshly rehashed.", + "copied_files": [ + { + "path": "unit03/gcc/configured_data_v1.py", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/configured_data_v1.py", + "source_relative_to_frozen_root": "unit03/gcc/configured_data_v1.py", + "bytes": 10098, + "sha256": "8fd118f1a0e3ddb569438722349b59d2d5e887a61b46850806a9694838aea6d9", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/generated_config_v1.py", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/generated_config_v1.py", + "source_relative_to_frozen_root": "unit03/gcc/generated_config_v1.py", + "bytes": 19555, + "sha256": "7d3fca92570304a3d53e8df7de9c2298a96f41cd44f050172a64ecbe897e608f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/test_configured_data_v1.py", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/test_configured_data_v1.py", + "source_relative_to_frozen_root": "unit03/gcc/test_configured_data_v1.py", + "bytes": 15566, + "sha256": "25739228ec6f02e5b256e2ab04eec430b9ca689e1db7141836c0b42bca2d12f0", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/header-member-pins-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/header-member-pins-v1.json", + "source_relative_to_frozen_root": "unit03/gcc/header-member-pins-v1.json", + "bytes": 89677, + "sha256": "c0c6890ff27c90b5a919d8943a707d49497aa05f1329d7ab5b06fbe95ab2e47d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/FREEZE-v2.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/FREEZE-v2.json", + "source_relative_to_frozen_root": "unit03/gcc/FREEZE-v2.json", + "bytes": 6514, + "sha256": "215943ce4b7542b268cfb86241f2c195ec3b64c2fc13d69217c5083bfb18ab5e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/DERIVATION-v2.md", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/DERIVATION-v2.md", + "source_relative_to_frozen_root": "unit03/gcc/DERIVATION-v2.md", + "bytes": 6665, + "sha256": "e37dbb2193f96cc635c585c13e48c167504a2993b05d3fafc778ef8b461104ab", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/GENERATED-CONFIGURATION-VIEW-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/GENERATED-CONFIGURATION-VIEW-v1.json", + "source_relative_to_frozen_root": "unit03/gcc/GENERATED-CONFIGURATION-VIEW-v1.json", + "bytes": 63583, + "sha256": "dd255edb52b640d7c782e11f035e695eaad1d609741a5170df20fd2ae08f3c30", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/GENERATED-CONFIGURATION-VIEW-v2.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/GENERATED-CONFIGURATION-VIEW-v2.json", + "source_relative_to_frozen_root": "unit03/gcc/GENERATED-CONFIGURATION-VIEW-v2.json", + "bytes": 65076, + "sha256": "65d82ba7484dd3df0914cf98e4b3da4b8ce6befa8e532d2e3034ec1ed32b2cbb", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/SOURCE-PROJECTION-COMPARISON-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/SOURCE-PROJECTION-COMPARISON-v1.json", + "source_relative_to_frozen_root": "unit03/gcc/SOURCE-PROJECTION-COMPARISON-v1.json", + "bytes": 1743, + "sha256": "5190c1077e8fadfecac194065f2daf0445700dedf10c738151f99db7055c5426", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/REVIEW-HOLD-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/REVIEW-HOLD-v1.json", + "source_relative_to_frozen_root": "unit03/gcc/REVIEW-HOLD-v1.json", + "bytes": 3417, + "sha256": "9f7bac634af636b8a2820593044f01f6b1c176c117190d1cfb2bda962cd69549", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/TEST-NORMAL-repair-v2.txt", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/TEST-NORMAL-repair-v2.txt", + "source_relative_to_frozen_root": "unit03/gcc/TEST-NORMAL-repair-v2.txt", + "bytes": 4170, + "sha256": "01a2e2f2ede1ca6bbfa1541ff294c909cc662649d5811426945d834335078e69", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/TEST-OPTIMIZED-repair-v2.txt", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/TEST-OPTIMIZED-repair-v2.txt", + "source_relative_to_frozen_root": "unit03/gcc/TEST-OPTIMIZED-repair-v2.txt", + "bytes": 4170, + "sha256": "c0eca76fb52f60893d3adccd428390213762ed651a512ae1f895216989842ee2", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/repair_metadata_v2.py", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/repair_metadata_v2.py", + "source_relative_to_frozen_root": "unit03/gcc/repair_metadata_v2.py", + "bytes": 4685, + "sha256": "d40070f350883cf867d58c0797abe4f3dbc43adc9102388ad3c31e75e5378d59", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/pre-review-v1/GENERATED-CONFIGURATION-VIEW-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/pre-review-v1/GENERATED-CONFIGURATION-VIEW-v1.json", + "source_relative_to_frozen_root": "unit03/gcc/pre-review-v1/GENERATED-CONFIGURATION-VIEW-v1.json", + "bytes": 63583, + "sha256": "dd255edb52b640d7c782e11f035e695eaad1d609741a5170df20fd2ae08f3c30", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/pre-review-v1/SOURCE-PROJECTION-COMPARISON-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/pre-review-v1/SOURCE-PROJECTION-COMPARISON-v1.json", + "source_relative_to_frozen_root": "unit03/gcc/pre-review-v1/SOURCE-PROJECTION-COMPARISON-v1.json", + "bytes": 1743, + "sha256": "5190c1077e8fadfecac194065f2daf0445700dedf10c738151f99db7055c5426", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/pre-review-v1/configured_data_v1.py", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/pre-review-v1/configured_data_v1.py", + "source_relative_to_frozen_root": "unit03/gcc/pre-review-v1/configured_data_v1.py", + "bytes": 10053, + "sha256": "9cc6b211dcb7f696eb128a331da91e46c5ff5b282653d1fe63eb5bde42ef9c35", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/pre-review-v1/generated_config_v1.py", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/pre-review-v1/generated_config_v1.py", + "source_relative_to_frozen_root": "unit03/gcc/pre-review-v1/generated_config_v1.py", + "bytes": 16800, + "sha256": "e05316e1ad36740ccc29350bf9f93387f7f2c8e0b5ac97f351ecc95525677e65", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/pre-review-v1/header-member-pins-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/pre-review-v1/header-member-pins-v1.json", + "source_relative_to_frozen_root": "unit03/gcc/pre-review-v1/header-member-pins-v1.json", + "bytes": 89677, + "sha256": "c0c6890ff27c90b5a919d8943a707d49497aa05f1329d7ab5b06fbe95ab2e47d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/gcc/pre-review-v1/test_configured_data_v1.py", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/pre-review-v1/test_configured_data_v1.py", + "source_relative_to_frozen_root": "unit03/gcc/pre-review-v1/test_configured_data_v1.py", + "bytes": 12732, + "sha256": "f2cc8fe090fb43c0cc75dc1e56fe488d09e3e1f97a54454dc66e044165bcab0d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/PLUGIN-AR-MEMBERS-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/PLUGIN-AR-MEMBERS-v1.json", + "source_relative_to_frozen_root": "unit03/source-artifacts/PLUGIN-AR-MEMBERS-v1.json", + "bytes": 974, + "sha256": "1ea9badd67a4e768106c515d1cae504845df9d75bfd4b38a83c44bf282bbcfe3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/PLUGIN-AR-MEMBERS-v2.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/PLUGIN-AR-MEMBERS-v2.json", + "source_relative_to_frozen_root": "unit03/source-artifacts/PLUGIN-AR-MEMBERS-v2.json", + "bytes": 1202, + "sha256": "ca0d19133055f5df81874895709dcab6c073e6d862891f5acc70d4eaa6dc3d35", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/PLUGIN-PAYLOAD-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/PLUGIN-PAYLOAD-v1.json", + "source_relative_to_frozen_root": "unit03/source-artifacts/PLUGIN-PAYLOAD-v1.json", + "bytes": 609942, + "sha256": "67e2d71f4affb83e458f226786e93361ec2cae3a3d19f9dd894d51d341ce61f7", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/PLUGIN-PAYLOAD-v2.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/PLUGIN-PAYLOAD-v2.json", + "source_relative_to_frozen_root": "unit03/source-artifacts/PLUGIN-PAYLOAD-v2.json", + "bytes": 613094, + "sha256": "83997b65422b22e34ca0c6b836b99d42e8d8291860f1c51977286ba40247d70b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/INPUT-GATE-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/INPUT-GATE-v1.json", + "source_relative_to_frozen_root": "unit03/source-artifacts/INPUT-GATE-v1.json", + "bytes": 9412, + "sha256": "7176444d5d8bdd1d9610ad0322c0dab0c759811a7201c3e6bc71e7f7a35f6a53", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/PLUGIN-CHECKSUM-ASSOCIATION-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/PLUGIN-CHECKSUM-ASSOCIATION-v1.json", + "source_relative_to_frozen_root": "unit03/source-artifacts/PLUGIN-CHECKSUM-ASSOCIATION-v1.json", + "bytes": 450, + "sha256": "54c6748b333d3a41b68e092559ef53bc465932485d3be7620b160700057428c5", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/LICENSE-PROVENANCE-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/LICENSE-PROVENANCE-v1.json", + "source_relative_to_frozen_root": "unit03/source-artifacts/LICENSE-PROVENANCE-v1.json", + "bytes": 1067, + "sha256": "9855171852f2d0190af7cc3f2b45673e2d518d3543cceab53adecc32bcee8ff8", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/LICENSE-PROVENANCE-v2.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/LICENSE-PROVENANCE-v2.json", + "source_relative_to_frozen_root": "unit03/source-artifacts/LICENSE-PROVENANCE-v2.json", + "bytes": 1090, + "sha256": "c4ac6815bc5e43d75e4be3ffd69b7a123d7ae566956a63bf80d2f05a62f0fc44", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/ACQUISITION-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/ACQUISITION-v1.json", + "source_relative_to_frozen_root": "unit03/source-artifacts/ACQUISITION-v1.json", + "bytes": 923, + "sha256": "e2df99524759bf40716149340cd65f85886c6041f28519d3c8a1dec014468581", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/ACQUISITION-network-v2.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/ACQUISITION-network-v2.json", + "source_relative_to_frozen_root": "unit03/source-artifacts/ACQUISITION-network-v2.json", + "bytes": 1699, + "sha256": "48ac8b28f8106dce33b10b351904c1d50d7e84ab0afe6b62b8da18b610cf9a80", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/EXTRACTION-ATTEMPT-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/EXTRACTION-ATTEMPT-v1.json", + "source_relative_to_frozen_root": "unit03/source-artifacts/EXTRACTION-ATTEMPT-v1.json", + "bytes": 302, + "sha256": "6b2086e27081e2da7cbacb11f6dc9a86b925340ae05bbd390964728bf8b939e4", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "source_relative_to_frozen_root": "unit03/source-artifacts/gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "bytes": 1451870, + "sha256": "3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/licenses/GCC-Runtime-Library-Exception.txt", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/licenses/GCC-Runtime-Library-Exception.txt", + "source_relative_to_frozen_root": "unit03/source-artifacts/licenses/GCC-Runtime-Library-Exception.txt", + "bytes": 3324, + "sha256": "9d6b43ce4d8de0c878bf16b54d8e7a10d9bd42b75178153e3af6a815bdc90f74", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/licenses/GPL-3-standard-text", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/licenses/GPL-3-standard-text", + "source_relative_to_frozen_root": "unit03/source-artifacts/licenses/GPL-3-standard-text", + "bytes": 35149, + "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/licenses/GPL-3.0-gcc-source.txt", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/licenses/GPL-3.0-gcc-source.txt", + "source_relative_to_frozen_root": "unit03/source-artifacts/licenses/GPL-3.0-gcc-source.txt", + "bytes": 35147, + "sha256": "8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/licenses/gcc-13-debian-copyright", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/licenses/gcc-13-debian-copyright", + "source_relative_to_frozen_root": "unit03/source-artifacts/licenses/gcc-13-debian-copyright", + "bytes": 69100, + "sha256": "08c6f3dee4c19aa1e57eb7d4ad45829b2e99656313bd07fa0922e2553f500be5", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/rejected-v1-offset-metadata/INPUT-GATE-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/rejected-v1-offset-metadata/INPUT-GATE-v1.json", + "source_relative_to_frozen_root": "unit03/source-artifacts/rejected-v1-offset-metadata/INPUT-GATE-v1.json", + "bytes": 9412, + "sha256": "7176444d5d8bdd1d9610ad0322c0dab0c759811a7201c3e6bc71e7f7a35f6a53", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/rejected-v1-offset-metadata/PLUGIN-AR-MEMBERS-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/rejected-v1-offset-metadata/PLUGIN-AR-MEMBERS-v1.json", + "source_relative_to_frozen_root": "unit03/source-artifacts/rejected-v1-offset-metadata/PLUGIN-AR-MEMBERS-v1.json", + "bytes": 974, + "sha256": "1ea9badd67a4e768106c515d1cae504845df9d75bfd4b38a83c44bf282bbcfe3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/rejected-v1-offset-metadata/PLUGIN-PAYLOAD-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/rejected-v1-offset-metadata/PLUGIN-PAYLOAD-v1.json", + "source_relative_to_frozen_root": "unit03/source-artifacts/rejected-v1-offset-metadata/PLUGIN-PAYLOAD-v1.json", + "bytes": 609942, + "sha256": "67e2d71f4affb83e458f226786e93361ec2cae3a3d19f9dd894d51d341ce61f7", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def", + "bytes": 4978, + "sha256": "023fa7450452b94ef3d2c508b2a378e59d8688f30699769ce0ed6d2bfeceac48", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h", + "bytes": 2945, + "sha256": "f3d9edb2e4328d6c9619e835b87b5e3f6e14d4ede997bbb73d1bff083c80bc00", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h", + "bytes": 2184, + "sha256": "c5b72a9516a7eca30a957d1f76cc7c8a932e0a28583b3098e99375a9b25f5c88", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h", + "bytes": 2507, + "sha256": "4c9ae2bac830bd5024c670a17296f902aa9bba4584c30317f02eb5fbcb1526e7", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def", + "bytes": 224, + "sha256": "bcad5255616b42ac69bbb250184c8cce7e020d1330397fd22d78c8daea826a15", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h", + "bytes": 15524, + "sha256": "536ca12849b965f7516424aff8e05cbbb54b802eb29c92f548af3217c3fcde32", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h", + "bytes": 11777, + "sha256": "06716406a6cd33f5bf987864ce2ffe27a5977393bfb28b7ce87621a67e05f91d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h", + "bytes": 1535, + "sha256": "af336c61ed00f1362de0043ceb92f06fe5f7360f2f4a11bfb5c8ba92702fd57e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h", + "bytes": 8837, + "sha256": "7c9f6f7fe091d89eb48ead7aaf5bc26a177a90c4e76739e1839c88cfbb70f023", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h", + "bytes": 8716, + "sha256": "f45972c3926988376dacf76a0003996a5a7a1dd26397380774d9c810aae3eab7", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h", + "bytes": 13872, + "sha256": "ce4072bfd29536a4b8e91c985f19ae31a3b7650b4f0ce2f06c291551693b0d77", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "bytes": 59854, + "sha256": "9ada1fb9d8c6f4d39e950fc3dfcefb81767c418d924a7e254774bda30e5a4537", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h", + "bytes": 1143, + "sha256": "8527a175c79dba1a8a8f77b128e6cd4adf210d6a13bf7f21324f2a75044bdcfa", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "bytes": 40843, + "sha256": "2af4b5b1ac67ee4075226fe87c19e0926c430c9e560034da071e6581902623a5", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h", + "bytes": 1067, + "sha256": "a769348fbcf2cc4f62cb4104535b37328472ff6679e9d4ebd7525a91b1ac4f9f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h", + "bytes": 18619, + "sha256": "f2619ee16c3a42f950b0b427af2956dcbf2a22fb7041fd43b529331fbd3ca4bf", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h", + "bytes": 1277, + "sha256": "e7d3be61e74749602b32d77554f5d56de18f5ef167867b250e482e64406a8f17", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h", + "bytes": 37570, + "sha256": "fdd9be6d48e92ca2fcd053c56c3e746d120745f51fe1acbc1f4490ffb54156db", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def", + "bytes": 20110, + "sha256": "fdc2318336bbbd9a51502898c6b46e625ead62fe907aad576f35f7569fd8b26a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def", + "bytes": 53342, + "sha256": "a7e984fe65c232e518c037d5bb4d16cf74e8f81738eed401492248b164196264", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def", + "bytes": 95755, + "sha256": "bbd89bafc02c73b4ec6b15b4322fc517fa8fe58ded45a747892b0e4f12d78d0b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h", + "bytes": 7200, + "sha256": "15c5c27a7b2e9be79373d761604f12a4ed74d3504778d4a2469f0356807fca79", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h", + "bytes": 171, + "sha256": "8ad05936a160214baea3c8aadede4475fdf3ece6962f85e61e962fd6590b11ef", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def", + "bytes": 4172, + "sha256": "4385cc13d39e61053458f6d79ab7626c136c03b58976d613a33732351c295f18", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h", + "bytes": 59318, + "sha256": "d5498885fbcd854b4c26f557501490d5e00b40c549270d10b7bc11a9320ed7f7", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h", + "bytes": 8033, + "sha256": "460eb8b3721b06a7d87e4f19083d96ba7a78a56ab312b5a68d659ec42420195a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h", + "bytes": 9549, + "sha256": "14a75ae7cdb8b0e84b4269f0afb2f8dbf429e840ec42f609511602da8e8da98a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h", + "bytes": 5324, + "sha256": "fc1bd1ad525e0ee3b6b481b8038aad31b98fe8dbebb1f3ffcea9e75987c45d82", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h", + "bytes": 35134, + "sha256": "bdd621639433a009ef8ab0204f78ba4020c9f6357b246234f6bf3939017cceaa", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h", + "bytes": 5291, + "sha256": "188f6dd04a978928c8ef21b6a6ec30b467d57da3e3b1c8d9828aa1023a32d830", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h", + "bytes": 845, + "sha256": "84864c1ceac3d4e5a8dcde662ce2ca9652fa687d7df61c1b1a73d68193b874ef", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def", + "bytes": 6828, + "sha256": "f5566f1fab9f1589b2c7b9d96c9b73dcbc02523f686bc264d07c3d03a9efd8fb", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h", + "bytes": 6429, + "sha256": "2288eb67df53ccfcdff79d0a9d8fb690f06c2de84e5bd5c2c1b307f371c635b6", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h", + "bytes": 3473, + "sha256": "9d1626ebff3462fc9b4f8518ea47992e84dd112f63fe6e6b7fe31270ddcdecc5", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h", + "bytes": 1016, + "sha256": "75674de6ab66278b0b0991e2ba376482c273b2f7e8d025650a85e5285a2b598e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h", + "bytes": 1303, + "sha256": "cb1dfd9de683927cbaae3e207f0aa98aeb07cab5147180017dd7a11cc9fc8a78", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h", + "bytes": 966, + "sha256": "d9b617983dc0a9ab8d4b648c63ff0b633b7e2f81768cde0dc36368f46c34e3a1", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h", + "bytes": 11428, + "sha256": "1fdd54693186cb5c8abf38667ac146e94bc69164049da65bd34275b7fcf85da0", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h", + "bytes": 27914, + "sha256": "fe09467eea2c176f44e53a0d369d18ad6a489620dd18b426d1d3c40e6f095167", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h", + "bytes": 2499, + "sha256": "d5287436e49903f67cfbb8137e0a028a5a541df43b0252023d37ae17a9491226", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h", + "bytes": 2688, + "sha256": "3ccab97cd645994aecb66045edb13b71017dbf012ee086b97cd6dcb22781be99", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h", + "bytes": 124842, + "sha256": "77b643cde2dc6c81e6e28d3265c05dd1ddb4c99d9b37841901a35edc08e8e612", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def", + "bytes": 5632, + "sha256": "f27acb01a17cc0c62c01aa4982155115bfd69deeec1766e3c26cd630973d2405", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h", + "bytes": 1694, + "sha256": "69db322f7d423f2e7bfcdf0ccae1c90c3853c69ac8c209c0e894d6784f0d19b7", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h", + "bytes": 8594, + "sha256": "7870fdbea37370be7ec92824a4fe4e7c24bfe62767b448801efccfa0f83df7bd", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h", + "bytes": 1308, + "sha256": "ffc4a02f68215b91971535d2569ddb46c65626f83aad16bb9d7cc5e31280e10d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h", + "bytes": 4891, + "sha256": "baa85177f344454041d22b1147ed169ab68064beb0cd4a7adfc8fcbeefca7b3f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h", + "bytes": 6023, + "sha256": "5bab14b3fb8ef807879c249b52041d158c3983e5c149f175cdc7aacb865f188a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h", + "bytes": 2766, + "sha256": "15954fefc8d00dd5d2a3ceaf17f957a78bcf08ca25681703fba345649bf4c97a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h", + "bytes": 17996, + "sha256": "255fe5da07efc03e66574ab45a1c92deb4ed7cc064f83677e1cae109065b8354", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h", + "bytes": 2854, + "sha256": "45e61be0214122daed3ce73a9edec9709c8d1b191a424ed6efd6db4d5b31f032", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "bytes": 6054, + "sha256": "8f3518bc748dd1f7c1f19bcc2d59201405b5a599820256ff1ecdf9ea63392daf", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h", + "bytes": 3186, + "sha256": "48cc90a7598d0ab51a85b0cf3143f187610754da7c47ecd9ac463f2c9d5cec29", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h", + "bytes": 1293, + "sha256": "a6fe8538bcc4db531f57ddb5b80d28e09b05c875e497f58542ff7fa4252cdfef", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h", + "bytes": 2629, + "sha256": "14a738ecc63fc02ceb153060c87722d3417ebf5564ca7889f2f27c742f20285c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "bytes": 3309, + "sha256": "5507732a24911a39abbf7d2526fd8c1b09db98c0519b7388b7143a3c01bdbccb", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def", + "bytes": 2399, + "sha256": "d4d39a44bc16d20dc2c8a10ad4b70156a548e2d38a32fda01811a253d8f4952a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h", + "bytes": 3322, + "sha256": "84ae505f2aeabbece530164dbefa82465b943331e490bb73ce40d088d9879ce9", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h", + "bytes": 17536, + "sha256": "d5a24ab0e669449ec51b483c5472cdf185ce5804c56d014103cee611eabc65df", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h", + "bytes": 113489, + "sha256": "55f2cea099e92f2bc0649599d708726fab531a10e9ee15456af35a4975599d21", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h", + "bytes": 2346, + "sha256": "eb6e3de8ee383f691f2b83c0cdafe8f1687c06c703f0854623dc71569304622b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "bytes": 1669, + "sha256": "9007684d92746203c280b53a69debfff75851e31c1cd9ce6cd5c61f705d5179c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def", + "bytes": 1040, + "sha256": "ca5f3b59774dade073e1fc95a86c933634b8407437f250a7882fa762967f158d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h", + "bytes": 2878, + "sha256": "f6896474c5b3fbc38927276acb79abc519e71b98bba82a614cd05052c24cee28", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h", + "bytes": 2982, + "sha256": "fecefad6255ddd8d60d9f3b546024a93db37dce7ccf277668de35336ce837471", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def", + "bytes": 33406, + "sha256": "864bcae5ff7ba9991e056b5b8dbbe257b2169ac2996bfcd65aab3e80054f9bf3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h", + "bytes": 1625, + "sha256": "3b824fa8ab2a86c5b8e5a72b4c868e569780d5e867d80755538e483cdf04b4ab", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h", + "bytes": 1947, + "sha256": "875e34fffe6e6bf06cecb83c1edfc221c6bb61a096ef38c60abe63914c72d297", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h", + "bytes": 811, + "sha256": "4240c4b506975f484248da9a3c668aacd837dba532be7d6d174f40405c9561af", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "bytes": 8504, + "sha256": "ce71be1f80fac59483042c6dd421bd267765c44f977505955b2718e30da612c4", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h", + "bytes": 1611, + "sha256": "f86e24a101cf141fab63458b812e0aed5bde16850a24d1045f6cebbc2977f3cc", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "bytes": 217, + "sha256": "41150681fe15436d17aa3a0b45b57345a65238fb945b14b0ca2bdf857e723e48", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "bytes": 1640, + "sha256": "987c0a46b31907a609c15c749988921053bdf81e77d3a695c981d7be7a9378fc", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h", + "bytes": 1732, + "sha256": "aafa561687a1cc40f753d8085f357a82db14b291f195e98f7409606439004c94", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h", + "bytes": 1848, + "sha256": "b37b99a1b2bb94e6267ac860b76683eea2ce19e53b51ec0899ac5b1c5b97b2c2", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h", + "bytes": 15197, + "sha256": "169d3b325ba9957aa6dc3953bb26dfed3bed2618950585f1891d4ab9375def21", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def", + "bytes": 1927, + "sha256": "9b7e57e064c7740d204e9bc19eda510646e3a0801978770e8eef3bf124e662a9", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h", + "bytes": 2308, + "sha256": "5e566a797e02c4abd09b0102310950625e8d325264a17fdbb0817448ca99bbf1", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h", + "bytes": 9714, + "sha256": "35d2eb58bf53d383c73d7c362148c2ff354fb2691ac0a86e65562757bf6ffdeb", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def", + "bytes": 4936, + "sha256": "c2ed08f00e4a126eb18bb8668fa966d8d66ebfdc57f65dcc4a66b607f0b3c252", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def", + "bytes": 27148, + "sha256": "a3d582ccb91cae886555cfe3541283787a2659c1b310d5a4fed427cd54120563", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h", + "bytes": 350792, + "sha256": "78c10c94738de11dae4cba0de0e6c81b3f8f4431ca9b2b916d5812663af1020c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h", + "bytes": 4883, + "sha256": "533988176d9313b5e081e45c52f0ef1a86e9d518548fdf1f2ae56f2ff71b1a2f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h", + "bytes": 18488, + "sha256": "3c012c6827b6efa1c9477ecb59b3147036888f0e0183614ef3a7847bad5c89b4", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def", + "bytes": 6848, + "sha256": "5b3199c6d97f307cb6bbb296e30f7518900548c12d1c8f45699e4e54bd40d2a1", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h", + "bytes": 1877, + "sha256": "3d0f20f1400cbef0786ee4871e656a20a4ab80315641b11e4efddaa79c016888", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h", + "bytes": 1174, + "sha256": "172a64e3f9a2dc4d2b05bcb3e16716336160ebd801cc17bbde02c81232a9407f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h", + "bytes": 2987, + "sha256": "d105e4f83c7403684db87493b30f52304d6a7c4a3ada1f56d3d2fa1d565e007c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h", + "bytes": 57534, + "sha256": "2b9fc43ca45c7d844989c3a04dc311885a3b3537d25166d293a0ec092461bdc0", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h", + "bytes": 4592, + "sha256": "3e3f877bf198338a5bec51c76e87351f246abb69088e7531fef51db2c80e7c84", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h", + "bytes": 15687, + "sha256": "96197421f357e1e3b007a1757b6f77bb3d76800f453527fb62f547523669d3bc", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def", + "bytes": 1386, + "sha256": "a07d2e1d5354fef980d33ad14614b445cb1246e3b3222d8dc27eb443f502d484", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h", + "bytes": 10999, + "sha256": "e5b02a3dfb361820a5b24fc1710b38666626cc13fb78311332d1ae601a13a873", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def", + "bytes": 6668, + "sha256": "68d2ba3391fbcd277d748eecd075b18f8610539a7c4600ac49dbd46b18a17cfc", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h", + "bytes": 1229, + "sha256": "e5f9da2c42dfc0ce09a321a7fb324a63b0ff6c789d761191be58c1c8af7b8e05", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h", + "bytes": 877, + "sha256": "0d029fe1379ceed3849f271390cc12c98359a16631da462f8ba5f12c9131bec8", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h", + "bytes": 5459, + "sha256": "2b647e04c726df5ed328fde718ce5b996366831578c0d1591bf38620be092a06", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h", + "bytes": 11479, + "sha256": "d3ce98401f5216d6ff167a2701ac6547ef332e1a98eb933778526dd866b6aced", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "bytes": 42136, + "sha256": "012ff1fece4d6d52b00647a49472045054094afa11637d7d5fdaced73ab95eae", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h", + "bytes": 48230, + "sha256": "ce939e0a7ae288d5d5ed39993f69eca3b2696f8fd9d3d7ba1c8382a6a98fb14f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h", + "bytes": 2361, + "sha256": "6550085e484d044a7f674ada222696b618520b3028cf2d5916a2e36916d523aa", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h", + "bytes": 3567, + "sha256": "8470edd627b9faa12436145be03125fb8d6359804f88d267056434bb9c1d4cca", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h", + "bytes": 2302, + "sha256": "0f84d9affbe4c7be3f20b7594db32ac7a8b8b1a5ab6e90045b6e6eeef9cf2bdb", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h", + "bytes": 5214, + "sha256": "2a5d445b78fc1981fc32e9b1ec2ed84b26f7009459b05dc8086bb9dec2002a54", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h", + "bytes": 2084, + "sha256": "8f33443da1ae6a5b747ceb0a43f824a65ee10c5205ec3a8ce5909244300aa08d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h", + "bytes": 2270, + "sha256": "aba695214641b9efe0623f1e9ab999d116912405a5cdccdf3f3b3dd3671b7983", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h", + "bytes": 6885, + "sha256": "e97bc1cab6272b6aebeefabf0e53e6fbed508bcd82cb90b4fa814a3e92ebdab9", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h", + "bytes": 3628, + "sha256": "0be5036f3162914a45a387f325f24ef7c00491f53f232053e9ac6e6c16827f05", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h", + "bytes": 1587, + "sha256": "0e6546e3a19732b9522a15a54aa56f5e0c76ed691cb152ce96f2fd7b3f0926a8", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def", + "bytes": 2645, + "sha256": "d13eaa301a150ba0415fb5cd8f5f22e001bdabccadb7b3a4a6b02dbaa42cd909", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h", + "bytes": 22673, + "sha256": "94781ae0ab138d083f6679a1521071723de43930ad8ee077d58b2c165bbf4242", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h", + "bytes": 6740, + "sha256": "5e6c941c7cfd22065c77c2d1f17af5c2658544e28805c7c3aabeb3f7da0d6d94", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "bytes": 488, + "sha256": "2ccde3e3cbe4fc9fba8da310295f775d5bd77d9742090f74708f4ff24f683f6d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h", + "bytes": 3015, + "sha256": "b1ed271ed0b8aa8a93f57d8977709d60a210c12b6cffadd8d6bf57dde9fe5b0f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h", + "bytes": 3653, + "sha256": "961c8c913939e13d4852f3a570366c29fefdd40f0964dec97ee505f647586b8f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h", + "bytes": 4558, + "sha256": "db08d680f9cdc82f5e28833151567a9d08822b83bb400427d085d870a0dc809b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h", + "bytes": 13501, + "sha256": "82206f0bf9b69a31fc1a3b12fd8f49a872e58db4df289106580356a6fb688c06", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h", + "bytes": 9321, + "sha256": "17d8b5525f58ed35c4464cdade8e6464ef9dee9ef256a0eccc4eaeeddc520ed2", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h", + "bytes": 23434, + "sha256": "9d27e3418748299347a59ab42ff93c640e520ea31e0c3c76c61f5b5f93654086", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h", + "bytes": 3153, + "sha256": "1f6bf7e4d5ae00679873a10a3fe49b988fa4639b7260f875fb11230749d0c99c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h", + "bytes": 1993, + "sha256": "c114e1458772074b645a9f8c631afc9beffd0e229223576c3cdb340ab1827a2e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h", + "bytes": 16250, + "sha256": "0303929170f719d93b6cdfb7087ad5382cda932518e1d46adf044675194f9936", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h", + "bytes": 2189, + "sha256": "e98acf62a5e89d7bad5fc45b533abf35de9d9020217aec6f93bdbee51a7cf667", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h", + "bytes": 20076, + "sha256": "56b4b8df8e0985a35eccff9695b2b8da669369a358d36f50f82e82e9305cfc39", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h", + "bytes": 1596, + "sha256": "dfe0ce5c23a94e691cfc94d3a0acae1ae2dcc9b237b6ff7e1944429a90cec695", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h", + "bytes": 1382, + "sha256": "0675494730bc2bc17b41e19765e4a96dc360a6fe451a1890ac23355988f46bff", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h", + "bytes": 2693, + "sha256": "686244bfa730ce91232887f22bbb0b9413043a714424baffca2aa3bc90d6aea4", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h", + "bytes": 12244, + "sha256": "ac102cb63acafb40203090aeab74dacb8323bdfed728383112949911172bf4a4", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h", + "bytes": 5741, + "sha256": "fef76c10fe4494ebe014eb320ec641c97ffab633ce9adafbdda0e6c60e1cc5b7", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h", + "bytes": 21038, + "sha256": "c75c31bdb6fe8e0dbf142fdc299f8f26ec9dff754664e457a49d1de84c6e481b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h", + "bytes": 13805, + "sha256": "ab3389f2a5105969867a2dec77eb92f5dd55cfb3c46d26342e5724ee8e47a4dd", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h", + "bytes": 16180, + "sha256": "c82178ff485d0a61bdbd2450a9ee16caf57e83d98fd37e3326c53593c644e56e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h", + "bytes": 1717, + "sha256": "0057ddd2bc41631e6069b900bbd34b7895c248d620da2ecde6a07d06d7c77b9a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h", + "bytes": 1245, + "sha256": "fc606239667d9c5f0549db1d03e64bc1322d73072e92755dfcea9ea1556dde60", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h", + "bytes": 3524, + "sha256": "93d972961c2d41445faa2ff3ac5ac4aa9f68ac332e31ca32dd77b08ad8830b60", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h", + "bytes": 4155, + "sha256": "2312325be7943854df0faade267a89b1454cec041e035614d0499f8ce3a8c538", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h", + "bytes": 15499, + "sha256": "5796693bde1e7f9686a857964835bdc7bef1ff9c3a597ef24c1bd8e2eb398d9c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h", + "bytes": 3627, + "sha256": "52d3cc3697ccb7e70ed38655aee02914046ac9d11284278c2078c88df447d6ee", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h", + "bytes": 1032, + "sha256": "94afc3bfb186de354f97612522fd97b07d7b8a552d9d99665aec6804111dff21", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h", + "bytes": 13407, + "sha256": "f440020333fb36bfc709dad7271c43fdb96229f041dcd9248fa3e30193207afd", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h", + "bytes": 11340, + "sha256": "4a87c748bc1dbd27969a4ab1a1b50d44e512b3b6d939f07b582002be8c3bb0a9", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h", + "bytes": 26167, + "sha256": "221af11d18566ae92ed7a523a9a334bc33b1b2b6621e1b30df86544c6c1ffafd", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h", + "bytes": 1247, + "sha256": "14da5c4c72e867d3143078d6b2a4552ea0f69ddc3dc56046cf971e02b5b38811", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h", + "bytes": 6464, + "sha256": "c2a70ac4254fb197cb9c67a8167accc6dff3c46f5e324545e325acfc78b446c7", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h", + "bytes": 942, + "sha256": "1d32456e30d45648cc7c673b5b7164a41e6119336f1f2cd31bc99bf9b9be445a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h", + "bytes": 3073, + "sha256": "9ccf4af910f55ed3437a891768f184b8b71f13ebf343de0d79c9feb7f073f409", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def", + "bytes": 1894, + "sha256": "0088739f71d5b35269c58a6bc6ada86054fb572f241fa349913d36596bb4310b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h", + "bytes": 15775, + "sha256": "10ee424e78fa32a593879e9aee7cb6f6f40b00ef35d4bd10e7d880e0af7ec0d4", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h", + "bytes": 1418, + "sha256": "5f157e267c71b120a95972b98cc484e9b7615ce3f8db491760c1d5a8ae735ce8", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h", + "bytes": 1497, + "sha256": "bce4f75524046f39ccf160d8015b611f8e2a415814cbfe775c3abe6a66c1daa3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h", + "bytes": 1256, + "sha256": "4115d7893cb95f4120f9ed831b1dd0388310ac85daeac5d23afaf91e2a8606a1", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h", + "bytes": 17392, + "sha256": "1018ca478ee084f9e62d3511e50ad23468fcfa97caedd07906f14da34a54235a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h", + "bytes": 47491, + "sha256": "42d108de1fa4567927e5723d516199b34fc863c06b219f8f7cf29361611eb392", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h", + "bytes": 6973, + "sha256": "83d8a07bd756470d5dbdb9d25e3d3d2740752062d48ca0178b58212216f44ece", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h", + "bytes": 3933, + "sha256": "c6d76d4363a59a8ad548d6617493eedf9c8602a80d5fa74607efe46f81fef84e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h", + "bytes": 11339, + "sha256": "82f0910f755cf53737df25fb67a19575be886b82b8d689ccca100bb17419473e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h", + "bytes": 1571, + "sha256": "fa88c5499e9b77f8661f20508ea78d9b818079251bc0e2744d40b1434f0b8542", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h", + "bytes": 1503, + "sha256": "8c4d9b5570c51f4e801e26b0c293e11d3732fe37879a06b0ce4c6b4a98a07532", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h", + "bytes": 5158, + "sha256": "a4ec8bb41e137b5bb5d8ff884d791b4f5dce3b28b724591bc1784bf5ed65264d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h", + "bytes": 10870, + "sha256": "b7eae6b1d5defa242a37fd7408b5fdde55fbeea2ee0aec8d9759540c936ca2c0", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h", + "bytes": 10423, + "sha256": "a961105f9d8903b0d79afde450c2a47f69b6eac9b97aebf77d13cd1c2d9400a6", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h", + "bytes": 981, + "sha256": "69f3378a5afdc45a998194f4c708a567c789b2ce0c4fbe492c1bc40bbeabebd3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h", + "bytes": 8983, + "sha256": "22962af6a3de149826a8e197ae153d7fffdf50f79dbd0845a794545f25286520", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h", + "bytes": 4972, + "sha256": "49461de35bd6bb6448d29aad95b9388d1a036374727943cbebedd341b8e644ef", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h", + "bytes": 2530, + "sha256": "dbb82424051d2ab36ad938d31704898b92c0f8999c4aa5e3756c15380133458e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h", + "bytes": 1662, + "sha256": "0b5ae839465cfb6be8bb75a1a5c64cd41a0be40bc63c9f38fbae7a8f1afd1523", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h", + "bytes": 4147, + "sha256": "2b2bb0081f8b72505e3ff1d2e25b6dab3c14a81755d82dc3a32fe7f4ffdb18b1", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h", + "bytes": 2144, + "sha256": "f70a149742d8b6d87cef7e2912fc3ccda35521d5ab9b47c566546cf322c9d261", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h", + "bytes": 6307, + "sha256": "0990e92eb8d346fd08962c6c27bbe9e56bf05399fd36ac790e556a67c911bdc5", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h", + "bytes": 8692, + "sha256": "adba924418190f95c63dd1c7a59922fcc18b6bd9d45faaf2ccd12b3191d8a706", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h", + "bytes": 3073, + "sha256": "73ccc7ad72242c1dade2d85c33e803942cbb50a9e59518bda6023da2392f47ea", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h", + "bytes": 2035, + "sha256": "9103654748691af3206f7dc00995e9c6c68b3c0cfe9a6294eaf760dfb888adb2", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h", + "bytes": 4384, + "sha256": "0f5bb2bab19be8fbabe84bbd037c39924f78015b9d2b6cf103045e1a86fa2cdb", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h", + "bytes": 2383, + "sha256": "8dd32ec528b1548e6f8e9e85f2412c808ee1c1a9b19942dbce67da7b6d3866f4", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h", + "bytes": 3886, + "sha256": "6e1ec1d0c60117eae8e0b011a85e7dc86f084751362e814decc8c4da1a90dd50", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h", + "bytes": 1934, + "sha256": "8930c781c5a7bac209dcd489c3466c59671a98e1ccaa7d3b3a3d2a536407ff68", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h", + "bytes": 1144, + "sha256": "445c7b6af465bd66f70e984a75edbf9b3d12f78a6a402a3b7c0da62af142fe1d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h", + "bytes": 5477, + "sha256": "10f6662fd0ac0a31be74d407313e06d9276bd5b298d9be0a762e756eab629045", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h", + "bytes": 1163, + "sha256": "699116c82b3d4d27f237e7f7e6bb44d7ae82c64654b2b70d89dfc35a29f84738", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h", + "bytes": 4260, + "sha256": "fe58ab5c8b95a6c3975b35a075f00e3704f8519968a388c2989b30c0c62e6691", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def", + "bytes": 16974, + "sha256": "ec4c9c88546fa7cb5130de64224baea8f2f2481206a35825ff5f0725f7be611a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h", + "bytes": 161475, + "sha256": "3da4923eb7137e70e89af8e31b0164f5ac9ef3979b32b158fcc68787a091ff2d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h", + "bytes": 1550, + "sha256": "13ca97e62e1046c0ee94573bc528f690f21d2c95508e2a4b52a4fd586a1bb448", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h", + "bytes": 3596, + "sha256": "6dc1920d67c95c1b72f3e530d8a3ebe926952e03c4248dd35d6c8492496ad543", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h", + "bytes": 4718, + "sha256": "15cc72ece04746fe84d86ca21b4fa473d3d8e9a63e6a187901c047e1d0d4e918", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h", + "bytes": 15067, + "sha256": "f49c5847a59f70bb7dcf6ce883fad82f88827da128412dc375e72e599a82d9cd", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h", + "bytes": 951, + "sha256": "1e7878693178734e3f7692e7da5f40ebd4439d7118a0451f9df0a432939f915b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h", + "bytes": 2293, + "sha256": "de279206c8ea8dc4a8078b32f0a38853ac6c03687e3dfddec70056bf66eb09a5", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h", + "bytes": 12497, + "sha256": "ccbae957b442f88d088d56aec8f8045b4057653c363115621c46a408658bae23", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h", + "bytes": 1531, + "sha256": "3a42edc31d2b1c4ac08ba1b3dca541ca909a964efa7646f7010e2ba21a3e30cd", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def", + "bytes": 2409, + "sha256": "1651b558793d700fe1a0c4ac2b9cac5c95ef2e4520f42df76938d6848a3b6add", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h", + "bytes": 1783, + "sha256": "1d2e65fdd1565fc90923304bdadeeb00384d7d617f28a23d7a76537a52e80893", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h", + "bytes": 330, + "sha256": "22dd0ab81baadd5a8d455b445855f341d419c7b0267beca235de00b7ec78e529", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def", + "bytes": 10158, + "sha256": "b8fe0ca2bae450a6cc5fab57ede4cfb1a59c98cc8451837a9e763d168d5f52df", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h", + "bytes": 176886, + "sha256": "02870fb8fd90e7115d52b7893ac70db6fdb19e0189f53235b2e65066c7203855", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h", + "bytes": 16063, + "sha256": "1531add71cd94bfd441313905a0e233cb3774e10491d634830b3be5d58271dfb", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h", + "bytes": 5627, + "sha256": "0e258c1fca60d02537913288f68f8234ed300e36c824d0515ebe3704436dffc2", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h", + "bytes": 10909, + "sha256": "e5cf42c2ad4515dc2a88fe984ec0281632689bcca2736f50dd2fdfeca546c948", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h", + "bytes": 5741, + "sha256": "876bf0e7c31a5378efc30e07fabbd55a94245bbf44ebf2f7784659e42d59a9a2", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h", + "bytes": 39688, + "sha256": "7115642e9761d2cd36f131d486a437a110b93158fb0899308b49793615b1b5b9", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h", + "bytes": 11226, + "sha256": "81c44e0537bfc87a0b9adcc52051236015f28b222fcaafb54f8815c9561b2479", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h", + "bytes": 7402, + "sha256": "a72e81a2c7322ca4fc9ba821c1cb38ae7c034cb402181e90d91841cd58b1f98e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h", + "bytes": 1121, + "sha256": "b81549f3331b5335b3129ac2091691aa658b5cf651ba1ba0082906af22997f54", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h", + "bytes": 6259, + "sha256": "1e7d3063c34061812fbdd950e90d858e0bc1cd5f67db144a75c3246aa7cf31bd", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h", + "bytes": 1808, + "sha256": "0003121f60d6cb02ed21c08709c10889e5df6891bdd8251290f0084e81bf2b4b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h", + "bytes": 1943, + "sha256": "61e4c9ea3990396756584ee9bc40ab081fa6204a48eeaa345c072f58a50a25ad", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h", + "bytes": 5584, + "sha256": "88a0e0f498a55f586df2845736b75e63b07802f169bcf8b1edf4fc95f8bedcc0", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h", + "bytes": 10745, + "sha256": "7a50e1ced617289ebe97acbaf61925b7de235e50d4b73d8575da288dd064a127", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h", + "bytes": 4271, + "sha256": "b09b75199f3721bd9538812d29ce8da67c95c992da9295b4c865d70b470aff7d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h", + "bytes": 5203, + "sha256": "5b78e81a7226a9cbc6c664b2928c68ccb155132d4e764daaca2eb28590137856", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h", + "bytes": 1696, + "sha256": "747174cc153c2c9851a6acfa50586fa632db3696650b118a00fed85bac643b79", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h", + "bytes": 9147, + "sha256": "ab7c203f21122c26260141dffe2e3e3fc30c9ad6458b5c2be26029d4cf34280d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h", + "bytes": 1881, + "sha256": "62a42864b5d1de2f6ba657663688b67018349a6ef133fe4f9feb312edbd4674f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h", + "bytes": 5586, + "sha256": "bcb77597a67ac6b68b24dbdae7dca900f611ad0a8a3a56ecf8af45378d890ca6", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h", + "bytes": 11715, + "sha256": "4baa3750012a67f0bb4600d7faea1a52c3c104779aaa8c64095f2d0581757902", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h", + "bytes": 310455, + "sha256": "83e0c3cbab2ce449e98b300a78667666b4f8a7cfe4d4b4cdfdd8af8019393774", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h", + "bytes": 526, + "sha256": "61f4af46470a090d3879482225cf5b44d7e63e6a62a2556c588758311a7b55d1", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h", + "bytes": 11204, + "sha256": "319b6341188b6ea532fc90a5a6ce26a0c87e35a2f4c7887f8db3a54f9d8f8ca3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h", + "bytes": 1347390, + "sha256": "0e21173edfdcf406b300992e8bab9ef65ca3a98f42501d24efeffd057eedb218", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h", + "bytes": 24711, + "sha256": "206116a4fb7aedd76f936dfd3f23c5ba9a9c4cda1c787338dffcdc6feea6a78d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h", + "bytes": 28560, + "sha256": "bc522aae00c541e890a64bec011e0df5c0952f76058e4418fde210051b4f9a16", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def", + "bytes": 3617, + "sha256": "a3c40aa47c1a61414ee539c2729d60cf027c7a654a576d6bfa9a4038d4cb8be5", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h", + "bytes": 2706, + "sha256": "8793b9ae709fa4abfa4b47b42f7d44e5b8a0c81babb947316f340e26c34bd955", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def", + "bytes": 22125, + "sha256": "b5bdb9d9d2d0c0836398ce22772e364881ef4999da68d6824a3c08bbebfb864a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h", + "bytes": 8988, + "sha256": "6e5d20a5735c158d71a3fea72e303455ce5a1ddb1964a1283084331645a923e2", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h", + "bytes": 2009, + "sha256": "4a313883acbe8bf6a6502e0f4a56863ab5916e8defe4828e98f5251af2536744", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h", + "bytes": 15911, + "sha256": "de4a896a9634f74046d2869acd9bd1cb53ee4f7f2ab55fe1ced41460f03417f1", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h", + "bytes": 11544, + "sha256": "496e275a5cece9993a70e8bd4a02344ed0e3ac7c50d1b81d9d1adc7d4094db2c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h", + "bytes": 21309, + "sha256": "9e7a92faa7ba1f266da868b0054480f19dd8d5291c479b4ba7132e9a35c27cb5", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h", + "bytes": 4289, + "sha256": "1e955d3f468551b8ad6ff25bba478f81e71ba94e61db38fb585772b5d2f935cb", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h", + "bytes": 22363, + "sha256": "fe51a1249a2d02f88c09e4d39f5b86bc4b93134c6afc94923fdee8c364fcbc69", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h", + "bytes": 5027, + "sha256": "22c65da14709b9b84e8086769f3897e4f48f05b59e975a3d241a495c09dc1d47", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h", + "bytes": 18540, + "sha256": "f3201c2d0c05d9f7a8ff5bf24b45c7900d74f826c73e8f1462abf2489e97e561", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h", + "bytes": 8891, + "sha256": "6b22f107252d8a4e3b93663584c2a43293e30630960369e6f3308c664c7ca4ae", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h", + "bytes": 41250, + "sha256": "c6ac7cb1c6c2b9b41e6351d823c97cd36ed192055f2bec5d5cf732816d6d00dc", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h", + "bytes": 3529, + "sha256": "399109d1b5ba4d7aba587233d2235c508453294b503640636bf5f65c4bec4fb5", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h", + "bytes": 1099, + "sha256": "43c907a42844c6b38799eae901b6046c4676dc27de8ebd5a5318a954f2520d4a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h", + "bytes": 9725, + "sha256": "5329e4984b4519090d52923ceca6c115f03b57327b2bda231c555f1b2b6dbde4", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h", + "bytes": 62259, + "sha256": "aec4d79bbac7c207b388b045b7b0d55947f13a9d5138a5ef57c8a36031248e02", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h", + "bytes": 9893, + "sha256": "d732461cda17464dbf997c189a28eb5c1ee94a8171be0ca2d7c68e5f148e4810", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h", + "bytes": 7700, + "sha256": "a7be36431cebf05709bd2a25f47381bc2786125bfc92f933edc28aab6761f8ca", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h", + "bytes": 5894, + "sha256": "f22917e2b2d4ee3b5d012e3fb9237f262ab7d7cc09f5b68f6abef02cb600afca", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h", + "bytes": 4705, + "sha256": "9ccf0c42d9ddb74401cac7be0c8bd17c3183be25d7b2af89069a98b8978272cf", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h", + "bytes": 16998, + "sha256": "95f149ef20e682d4877d5f2ebb2c9886b68750f8cf586b4a982e32566e67f488", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h", + "bytes": 27732, + "sha256": "5cef50bf7cd776d0bb62db9722163b98f4372e8ab256ceab28a6eabd0161f572", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h", + "bytes": 1327, + "sha256": "0bda2ffffab92ff1e08ad9d5d820a27f9379ee6782d2d27dcb753a5d6aea38db", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h", + "bytes": 2586, + "sha256": "4ede906245548b77c8039974408ad67b33f437b8d37863cdc8511ad21f053ea4", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h", + "bytes": 27873, + "sha256": "30bb26b74878d324cd3a495ae6913f9dc682fb8519c2acd55520e31f8456a6c1", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h", + "bytes": 1411, + "sha256": "3b38742bd304c485bb6ab53cacea9432e28205ac7a002a86330f0ae2380f2b3d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h", + "bytes": 270, + "sha256": "281813879fe05668e6a3cc520ef294c7fd3f01f75dd67cb5e363c3ffdf37cb1b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h", + "bytes": 73241, + "sha256": "415f38816ece1ca843803ef3af96be9d9029e83fe9e76b53f0c33f74eeaee778", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h", + "bytes": 2486, + "sha256": "62fd366fc45f278a0957b5b9c456bf9967bf0dddb1903a9539df9f677abba3b2", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h", + "bytes": 893, + "sha256": "013de58934fbc12448fd9c684dd5c920be658c527ec61c4d5bff848d911373af", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h", + "bytes": 2081, + "sha256": "a17e1d7b54de7bbd12917d92e645bebf03466c4dff43a4fb3314b955f08d93d1", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h", + "bytes": 18811, + "sha256": "3e1e99bc6bab69cb9d3c81f4e84f13d15aec66a39597b1272f46e8e5d994982f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h", + "bytes": 1337, + "sha256": "a0dac0179283d66fecc9eef1245bfe9e220cadd855bb78238fb17938223a01d3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h", + "bytes": 1599, + "sha256": "d0e82fdd93133a4165a7355e79d815cd0cd4e2d954f59d8141b9b9d1ba5d38c8", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h", + "bytes": 1595, + "sha256": "1c91506b7ee8fa420ef0852e90dc824e28dc367274d05fce88f188b9644a3473", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h", + "bytes": 38386, + "sha256": "8af2370c5da76c5a10a5f81dc7276d577d15d4427a45a4fc945056200f971ecd", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def", + "bytes": 975, + "sha256": "ee4847ee69fc0acd5f2c89176d2d523ada86876bf6ef97c37f05becf56c0a049", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def", + "bytes": 10847, + "sha256": "de584372b4942dd19796032f087b652ebe3425f4fdfa71ce16245a17c1f47506", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h", + "bytes": 35856, + "sha256": "4444cb35bf21f0fad623af174c34d3a23a1f7a239206148ada43f4ea422ab3ee", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h", + "bytes": 1529, + "sha256": "ec51d87d64f36a9d717d4a9b12810d43d60c16ca5527cda00de934f58bea6ffd", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h", + "bytes": 5409, + "sha256": "7e63418a7fcab4637c5fb29fe554149c0252ed43fcd70a9434af8d8157aff5d6", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h", + "bytes": 1280, + "sha256": "afa4dc890a08081d268b4b7512fbcbe46572dc71d6a026b465a8f6e2d9714451", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h", + "bytes": 18132, + "sha256": "95cc899b612bf1d4aceeb45663b2bbc34b8711d38c215b53ef2693fd73ddcc91", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h", + "bytes": 3401, + "sha256": "4c56869646d5db67ce1887862d23c13ac2453879ff8da57c67f5c4ad6594ff69", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h", + "bytes": 2500, + "sha256": "76be7522462077eba796115512b13778ebbff5be23babf8ca6cf19805d435014", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def", + "bytes": 2034, + "sha256": "51d097959c833480f573c1253da61cbf79495424ff3640c577837ee5e7fe5cbd", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h", + "bytes": 7617, + "sha256": "639957ca653d1b4a8caccabe94166b6e80dcc150dc7fef7120b03781d3e86338", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def", + "bytes": 3378, + "sha256": "c2b3a32369d99cc8260b985d647c5a4e506f0e1f95296062c8993ac33070799c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h", + "bytes": 2480, + "sha256": "3337eebd882f83dd0d81305cd886c20403267f9030966fe91e021eb793b71c85", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h", + "bytes": 22405, + "sha256": "d7b88aea7f6a9579f716a775fba2acbd119315e0975431c7644ec842495271d0", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def", + "bytes": 22884, + "sha256": "0ea9f9414e42aa2ebfca27d2a853594f13d30b63259303d77207e30d07ba67c6", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h", + "bytes": 1165, + "sha256": "865d458725ff3ac68fe6e34ac2d9d4a9df93cf0913469d9726f426a0fc9c25cc", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h", + "bytes": 5983, + "sha256": "7adf96139b70216876dc610b87a81c950f197811ba7e1249031dad9f0d1c00b5", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h", + "bytes": 1095, + "sha256": "db8f807abd15f86cbb42242e65b1e9a3447074aab6c98424b0a7ebf2dab8b80f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h", + "bytes": 1214, + "sha256": "244d40fb972c66f1accc14712cf0ee6575209e113431fc897af09b6ec59295b3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h", + "bytes": 880, + "sha256": "74456a1c9e0f39545ffa3f6eb8b3c8cfebfe7a4ab954453c6a912f4e42fa1ca3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h", + "bytes": 9423, + "sha256": "3a2ab8a4cdeba7790e0f246c37580c904dbf459e4d26a5775f82220ecefafc35", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h", + "bytes": 2540, + "sha256": "50fb15e8b6fb8980f80cffb19667e63740c0a0a4be47bb5e5e5ab59351a2362f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h", + "bytes": 3469, + "sha256": "29ed316ac1c28a4b1df96943e194d1d63ecfe761e9f6124a418b227cd84eb87e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h", + "bytes": 7104, + "sha256": "5ed43d77e9d7d2080d5d02a78260d759c5b14028431b28055e3d4564d5aecea1", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h", + "bytes": 1867, + "sha256": "10de46939ebad137748008605be8afb05dbceb4eb7e7c09d7ffe11f11c15897f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def", + "bytes": 22768, + "sha256": "423d37d7db5f9ae5be74b83d2d55a4acbbbaeaf56b293d68375f7a8f7d2f24dd", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h", + "bytes": 14408, + "sha256": "904dbf30e1cb2dae59e3ebca387fc9f4a278b1a5b468fa82c97d4a35e4e618cf", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h", + "bytes": 2047, + "sha256": "b8d4716945ae169e7be105dfe9b29417a907a308dbf2ccf629a6d8bbb7a31ef4", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h", + "bytes": 5152, + "sha256": "8884b6514baf87d199fe0c54da077e7209cc760022a83984c3f26d6a18ec4102", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "bytes": 504497, + "sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h", + "bytes": 1032, + "sha256": "b941dcb347c09c55364350b23ba666aa11d3665920a5d8d6778c4edf3454d983", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h", + "bytes": 1787, + "sha256": "cf69cae8fdfc06b026c6c9e6f73b6569012e368d595522dda263490c7323f0cd", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h", + "bytes": 20111, + "sha256": "679ae81edf5eb0f284eb8426d2d742b795d94c718d08fa0c6be0b000fed8f99b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h", + "bytes": 5035, + "sha256": "a19e5a6c8b0995d955972ac1e8e36f8e3e596def77e1071a66c5513110d8c984", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h", + "bytes": 25158, + "sha256": "0b1f52111356fa8ff77fd3cc829c2a14400a6322db3743f8293f6cba3ced544c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def", + "bytes": 24846, + "sha256": "a0e160ffd36c3ad1643ac4b29dffb0cbda42eb411cf8b29618df9917e586c5f4", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h", + "bytes": 4112, + "sha256": "14517703ae93aca191844dd07649820424e8c9f84cb17bab6a7058bdd91b9766", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def", + "bytes": 22106, + "sha256": "f0a89caaaec0c4e234e4840f5958cc59ed9189f18bf62309ea78bb68befd4fe6", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h", + "bytes": 18343, + "sha256": "ab883946bdbc9a8143b32bf970b3be836e070c62223974b25bffae4e747836ae", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h", + "bytes": 595, + "sha256": "240c05ad22d5f396015efdc5d0381c554ea79d62c8ece0402909501e59a5f1d4", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def", + "bytes": 3419, + "sha256": "6e5670c5c93a21ee20ddb1d96974c782cb51b988fe4bd66a8aed42768b88f54e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h", + "bytes": 6593, + "sha256": "bf17c85ab563f8cc6808993e83dd6ef727b282b8b4ede9749d635d23feb7753b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h", + "bytes": 9703, + "sha256": "d68d16e80c901ae7f30d93772645252e184268e91f38d8e6f461f1bdd22ef2b0", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h", + "bytes": 4328, + "sha256": "e2a969980945c688e2851b91a34bfd6658ee0aa5684a6e7cab5bd81bc2ab5d6a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h", + "bytes": 81531, + "sha256": "e66872fe193c40e9548de5effafec475f4d2d57ba0e69db2d2ee091c75a3caa3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def", + "bytes": 10136, + "sha256": "f78bdbe1e3493092e5bd7544a6ec94e57e8ca280b6487d037312d68adb71a537", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h", + "bytes": 4752, + "sha256": "3a15c9bc658a8d773b9b741f9c52b5d08eb2461715478add8a0b7785a8a0c73a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h", + "bytes": 1260, + "sha256": "7a6f926a74485becf52e91b15cbdee5674b8470a4c5376179667e32c093430ab", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h", + "bytes": 16071, + "sha256": "605c2d11126def8d4b358a661000989448a6e6777e7b04536243cac1bbe4ee03", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h", + "bytes": 5643, + "sha256": "82d36d4eb489d6959e70dbaee1fb14b5d30a04a76840ded2df90572aa07d6885", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h", + "bytes": 1944, + "sha256": "ad87f6e71674db1ea93d24fd13c5f4ba4a44c910c438389d1a3f3ed0f944efef", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h", + "bytes": 39197, + "sha256": "daacfd3111a8ae358573e4edd62d06a765824feaa61ee6e3bfd2fce6719c715a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h", + "bytes": 2335, + "sha256": "00eeecf678a97ef2d8b27c21739580e2fb4b22758807b9351ba421338e5fc5c4", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h", + "bytes": 10757, + "sha256": "97143b407697c7e1dd429675660e8e5c262e90331c0cf3509ce5e998e8ed2bc8", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h", + "bytes": 1690, + "sha256": "ac66d273dd27ae1aa5672ba820129727c2b48110d7f780922a8d46ba26e12d02", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h", + "bytes": 13190, + "sha256": "b4d0bb94bf80c7cd2426e80d98b6063ceaf9fe77135e2323cde155d7ae4f20e7", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h", + "bytes": 1002, + "sha256": "087dae9fb10d3d7fca65278b2fcd521477058b91c3242a385853e22897497b81", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h", + "bytes": 21374, + "sha256": "64bb28d4bd9cee160cb7a165827ac901f8fc5c0fb0c7d0976885a37ab065119f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h", + "bytes": 1302, + "sha256": "d8f33b66341cd504dab1a29eebd8215a56e1769b57a4d62b6a9ad3ed1f7e5c0c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h", + "bytes": 18160, + "sha256": "65f535deb2993fa5960cc5f39477b710b3d6ebe5ab2d6b4165bd8d61acce560b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def", + "bytes": 10982, + "sha256": "71888a6aa0d904d1462f91a82810073231c8526d0f33a9a7a6d82cbb87cd7b3e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h", + "bytes": 877, + "sha256": "b58d176b75700c415cfad8218d7a2b08ee8004bda1cc22ba50dac9bd4978a38b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h", + "bytes": 3563, + "sha256": "1e36a6da41687305e5a97cb741594abb02b4d3fff577fcb8a62138c5822ebfaa", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h", + "bytes": 12634, + "sha256": "15d9102c0bf9155ba02c9a3806be502e9ac5f788a30c5e5f17dd873e7bf2bc5a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h", + "bytes": 4824, + "sha256": "2728d61c5e85efc5802bebd3310845d1e72f6554418810ae5edace22e49e0241", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h", + "bytes": 17659, + "sha256": "3abb0b6d1e9c65d38b61b185c88c5ebf37e51beaf2bf8912c3bdae3d2e46050b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h", + "bytes": 1981, + "sha256": "5830422162a9e2bf8aae757776bf399fc10dbaa599504343f4effc3737605b81", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h", + "bytes": 1050, + "sha256": "0398b05ae75bbaa2014dee32fe3b5614ba536c2a40e899985dc83c3db52feea8", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h", + "bytes": 8363, + "sha256": "4fa2852f3ea51e76acfbaca3d8297b94ad04d66cf4d2712a4475e17fba73a1d2", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h", + "bytes": 1991, + "sha256": "bea1a8cd10f40cc67634ead997999942231497ab46f2b5ae5bf07991c5efa230", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def", + "bytes": 61440, + "sha256": "0a5f215a95ba9df29b8fc743f7e477e2a493e16d2c91b5d5ad349846497e0764", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h", + "bytes": 160104, + "sha256": "141702d3ec4ef6829ad9f8082850a8d4cfb7483b7e1cbc500de4e34418bacb9c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h", + "bytes": 10466, + "sha256": "5f3a7b97630a0a51cc4a40175e162f0ff85b9cc1d547b140496bbf783efc7895", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h", + "bytes": 850, + "sha256": "28b8d35d5616c74c62fa31b5674318d7e0fba611f2bf06192fd636d0ea474b35", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h", + "bytes": 1797, + "sha256": "d5c4db6a98b8586c5f8dca8f225041caf4f3473ad95e54583866dae9f5a75a37", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h", + "bytes": 3848, + "sha256": "f5e36f8d27a594b77cb0530ba42ea335c9eceabdab7961675efd0d0c5304d539", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h", + "bytes": 884, + "sha256": "9582b29310769bfaabfe8c23c637c6d8e1376edd9ec9bcc176fb38b99848c206", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h", + "bytes": 5642, + "sha256": "e7e2202f4b96bc269c5a885812b4a919c92e64e196d106b0a8db4a93572e7bd3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def", + "bytes": 33537, + "sha256": "e4069289ef31866fde4d1acdbd4a747e5d99586e058067b57b3343b0ea6f92ec", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h", + "bytes": 10369, + "sha256": "9958ea326e761f3ff9c9526c7223b076fc4b9cec7c9453f21083a320210eb2c5", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h", + "bytes": 61641, + "sha256": "dc1a6562fe614c64146430ed54600e933c30a5061cec75aea95e46083477743a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h", + "bytes": 6940, + "sha256": "d6d217bd789ab925858267a761092651c2fe7a9b5fd530ed9009ffa627e86aad", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h", + "bytes": 48949, + "sha256": "b17053bd5d174df238c8bc41be386f371ed678dc170e4cfb90dc5ba4d87e9e3a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h", + "bytes": 920, + "sha256": "c1f7a7e88904e6b3f2f64b94bd77dd2a27e986153047d5896099163227df8282", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h", + "bytes": 1493, + "sha256": "3662ed457aa27813ef3f0802f4d48dc039213a453f434e757808e4f6a4f8e03a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h", + "bytes": 3235, + "sha256": "feda33ddda3dd145deed464204db202a5c8075fe9fdc30fcdbcae2bb71a69983", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h", + "bytes": 15588, + "sha256": "d2cf01d8ef1465541dfbbf3bbd3fad1c32d2b35dc4d89d20f9095b54137d5719", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h", + "bytes": 7500, + "sha256": "bc5b78d700b487e41136fa6a422d603b033f853539c19cb03f4249b6e346c345", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h", + "bytes": 6205, + "sha256": "2eaff39957c8b8c6195b2eeebf1601d74aa203959545d223001b436311eab295", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h", + "bytes": 1165, + "sha256": "4c02ba20251963758c89b10899393b28662d9463c09f23cdf1a26b63c9f6726e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h", + "bytes": 1056, + "sha256": "aee11f55692dd8b2bda2d8a04c45b7d40379c55258dda5db1f03c3515631f8a0", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h", + "bytes": 6812, + "sha256": "c7eb94536c94fd08bcc4dc755716d6b4d975bd75f71f8186f3c0e510d449c5f2", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h", + "bytes": 1416, + "sha256": "ff8432c6862f0d119017626789c451dea9388b6ea74eba4f53186beabd135094", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h", + "bytes": 7360, + "sha256": "330f381fc436a17de505c30f977ef2a2ee4692e0b0dffdb4b752a37f14ebc4d0", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h", + "bytes": 16880, + "sha256": "a13bf0f6af9d93a621f33172d1b3219e0d650edd91ee16e876098bf305cb2d27", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h", + "bytes": 6238, + "sha256": "687795657e77a2e1105c5b92cb43e3c1de4a4ee53adcabe25ceceebbac42bb1d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h", + "bytes": 6565, + "sha256": "394ea5f83e88fdb19768e37b092e72117a9c1cb60e0af28042372d18fe702f47", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h", + "bytes": 29828, + "sha256": "13a470f159f7f31c4495af6fc4ac50d7d82d8e31555ced66ae4444ddb261df84", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h", + "bytes": 1039, + "sha256": "2a1314704e22f2752d1cf83d62ead4d5eb416839b438c4cad9410e5483b2a72a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h", + "bytes": 2846, + "sha256": "66de3aed44d510172a51dcd99cb2445354d12fa5c09fde43eb4048e5e2f32897", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h", + "bytes": 2034, + "sha256": "234685ba8f567bf512c870e4cc462249937cb9c50c4845c8159009b827e2af03", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h", + "bytes": 5099, + "sha256": "7052fef7a6781651860182890449787cddc5731f2e8a8b34ec9d3dc576873e67", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h", + "bytes": 3695, + "sha256": "16e3d55112b0e7911eba6dad328e1a25fe4c607e35b6c33349b742db6a8a0960", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h", + "bytes": 1491, + "sha256": "9665167dd0003d60d4b72880ce61a477f1560c972d6097a2cdaa24e03d6cacd2", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h", + "bytes": 4744, + "sha256": "c8ea502e9cd745da74c655fcfad7df2fc43733bb808d3742b7125715cc41cdbf", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h", + "bytes": 27511, + "sha256": "04876299a21be45ce7543996f24d0c327114b657f59bf5736fa2fd48037724d2", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h", + "bytes": 2076, + "sha256": "43d5903da1b24590ca92a4d3823de558f100d39ad9b7efc1ca11b28c82473eff", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h", + "bytes": 5041, + "sha256": "367e3314b662a799a41d0403d2bb530aef3a8717e6e02908a6c51a89d1785a85", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h", + "bytes": 3734, + "sha256": "7223c38982d25c4f205f961f82c6a2aa95fadcae197b96a5f75d6d0eb635820c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def", + "bytes": 27679, + "sha256": "0968daba86d57430f56d28c37c797431ff3dc3efb11142562d9fa08d68dd86f0", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h", + "bytes": 42057, + "sha256": "18acfc4265c88125ae0a190e31c2e865a7726c9fdcc057990e7bfeaa6e62c56c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h", + "bytes": 4265, + "sha256": "42926ae26ac08524751c635312c73d9e6fd6e95d05a61656ebc6bd0663a4fbf1", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h", + "bytes": 3413, + "sha256": "91615ca3c302e3d40c9eba9df5829ef15e0f6346c7ef57d85ed1a6179d181860", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h", + "bytes": 4060, + "sha256": "614946cc27b8d6b45efdebd6b8b92bba70b65161ad0e963f64891c106bd1ab62", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def", + "bytes": 5385, + "sha256": "86f6e27cf0de4f2b3b85faed07421312087dbf34ab1da0dfe0adc3aa0387ed1d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def", + "bytes": 324195, + "sha256": "4b09a0f3c94866ecfdaedcdf645e2e469a787b145dfc4bd3139e91a3cc5d4b7b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h", + "bytes": 9322, + "sha256": "196b78a30e006a4e6a4aa213a5b9f60dac0939ad7f7f60ce6418374488efca6c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h", + "bytes": 14065, + "sha256": "63f067f4e08cbe1c4163e72263ab11db4f40904456a14f19a7ebac777db5154a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def", + "bytes": 18489, + "sha256": "ad36ee0acd2323014fd3030bed61940b5701eee1ac0aabbe8779eb444e443792", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h", + "bytes": 7825, + "sha256": "2503c672b155608463651164ec3b7920ef9e3c3aedf327579890e6f6dea53747", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h", + "bytes": 15692, + "sha256": "9ab00124c52294df63f666481b6201303792fd97155d67981bc74594ddf9157c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "bytes": 1184, + "sha256": "d384ae33a23985613c839280f1b4845b3415c055e32209c6bc795a4d594f018f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "bytes": 178, + "sha256": "d8729f976710961c7d34afc545be1c22dfb654be3425ce379511c6f837979141", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h", + "bytes": 2853, + "sha256": "94db68428a4204367beebe06af7039204b0a1585b192dbe3fbc9e2c2e48aca3e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h", + "bytes": 903, + "sha256": "70fc64b69e8c6e69ba860d3611bff17183fac32f2d2a6050383d1627f87aef08", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h", + "bytes": 1937, + "sha256": "48614ce6d1de0747f00f7e7d6688194aaee8b1cc95e198b8b9081f0001c0bef3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h", + "bytes": 3892, + "sha256": "a3d786765e5e8c9db578aa39b36f0ace394eb235d89c9b84709b4283e99ee361", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h", + "bytes": 5902, + "sha256": "d30ad2d326dc52920c97453044915ce687b15493d08c80bc4e14e7e8ff2ad510", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h", + "bytes": 1207, + "sha256": "24615be2b839893f983c6bd916065b7dbf708f5a8517c5905d8571d6527fa81e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h", + "bytes": 23198, + "sha256": "81664ae9afd3c1ecd324c6bbdea316238e0ea2c088d7f01b71904d633725a39d", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h", + "bytes": 7260, + "sha256": "67399acc52c905646efc22970c64b744431ad89781dd5fe471ef0b2705bdb928", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h", + "bytes": 69861, + "sha256": "72c8a34ea0beb747d9b4ae82cc8c206dce09ed0de5b6a2e0e147df7c959274dc", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h", + "bytes": 25753, + "sha256": "b5db489b124efdadac5fdb41ae52b43b833e2068bfe30e8d7bb32378ebebe324", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h", + "bytes": 1898, + "sha256": "e2682f2108c770b4cff558b4a94f34e727b63bc27952e35bb429d8bc10e9c45c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h", + "bytes": 2740, + "sha256": "686c6456f152eebb3165a614a7bb9a023c9288321b45deb8dc48fcc9b7001e71", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h", + "bytes": 2882, + "sha256": "d47a731de33f8ec5b39d1766423dd09f2c96166a97136a9ef3d2d45db2219cf1", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h", + "bytes": 2494, + "sha256": "175e52e40899cf68d11021d9003601f4504e3645f77ab5660c469d34295055c3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h", + "bytes": 1248, + "sha256": "e849d35541688b86c31bc9b8f680644932badbe00390fa10012b1f278d2bdc76", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h", + "bytes": 1922, + "sha256": "ee8dc16a1108fc9fd35fcd814fd4a46a4d91a3300199ebeee46cf6bd3d2b7dcb", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h", + "bytes": 845, + "sha256": "4044e2f7b1a8b7c71ea1a4044ad475654b8deaa774515e79e93986b7ba22238f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h", + "bytes": 8783, + "sha256": "94fd38febea66c112ae50f7a40614f9d6a4a6891ce1e0c2ce9fabaf7b5b7dba5", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h", + "bytes": 1967, + "sha256": "281eb66117fa6e31a1c2a8dec62e6b7cd89fd254fce5c0b661e7251c7413d636", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h", + "bytes": 4209, + "sha256": "43f2b75441dddf1761845ccf1ba5801ec6cbe28c12b4d49247b6a0e28d0df0ee", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h", + "bytes": 2239, + "sha256": "3ab97eca2ae52177f8569ca13446c7e042ac120dd5e268f7a350729460cca265", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h", + "bytes": 2743, + "sha256": "4fad928b3dc11362c2a40724cb2c57ab833a094289ed0a543769eafc8984884f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h", + "bytes": 1119, + "sha256": "92d5051512088e6eec0cc59ac147f6341324424b3097b007cc6fdddc3f5bcedf", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h", + "bytes": 2731, + "sha256": "8f3c9e4aaa6c024e292ecec67bfd1f1dddc53a03ee3aa0d1800e8473ad2fd307", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h", + "bytes": 864, + "sha256": "93e5e2a2451f179f82e0bbb9e05212f86409afc0c8819449907eee3ffbf7ba61", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h", + "bytes": 33360, + "sha256": "5c0d48970ef2feff54f820cedbd2ec03ed4429ebe01fcd418a0798fa2cdeb732", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h", + "bytes": 2233, + "sha256": "0e30ea4024a1137cfbc0a9f111a95af10b81229f382d5c78ab7f3a758b5df4b0", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h", + "bytes": 2611, + "sha256": "55946e594a4411c6952e58ba0c48c0fc9b04f2d5343f4569c24e491a06c911a8", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h", + "bytes": 2639, + "sha256": "ac1fe4387efb0886401aab91be2a163eaef8e19d4c86edfc01ce7cabb46f2c89", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h", + "bytes": 1257, + "sha256": "4de1ecd294cf8f170d9125bcc679e7e97cf6eddf196fbad815b1dcc09d7f0974", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h", + "bytes": 1660, + "sha256": "2e5ee918aadfad4eab3110ac015b58f0a422322837428b820d0fcad31e6f7c2a", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h", + "bytes": 1370, + "sha256": "fdcc413bd1c26e60ced05955775249adc50d845cc717e1232b771cbc46a10cd2", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h", + "bytes": 7908, + "sha256": "e480abea7e5453f93991d93b68eba5f24172cd5025edc69d1903ecaac3377ab4", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h", + "bytes": 1080, + "sha256": "4aa56ee7936b971cdcfcfe02d8e50b7c73898148d0b13c900998cce4b3e3826c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h", + "bytes": 925, + "sha256": "d57695859d946a0a08b6ba67647d9f019719e7ae28d00aafa9090bb1ffd23821", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h", + "bytes": 783, + "sha256": "39890e388df9c1e58ea3231fd8b62e83cdc94eacd9ca34697202432f512000fb", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h", + "bytes": 866, + "sha256": "19e58e107972cbc4dd0c476501c9f22cfc8928e44656d5a0b63406a69fe1147f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h", + "bytes": 1190, + "sha256": "e3471ff30a880e9fb0b20536337e1c47ad81e95191a0d7a9d3f68769a446cc79", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h", + "bytes": 9848, + "sha256": "7eb1f5add837f73a595b6f99be137f4504bc78a2545d5113a4ac04c7dd40aee7", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h", + "bytes": 1487, + "sha256": "27b4830de909093ea950ef749f2bec5262292e20085e9b3f03e9c7560cf355ac", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h", + "bytes": 2216, + "sha256": "9180801003efef48b9ac6478249a61a2007cfbdb6ca6869bf6a843878ff04779", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h", + "bytes": 3026, + "sha256": "7210f337e00c14ab24f5e12a0548fe10ddd9a116fab8a026d1d4af53a3d1756b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h", + "bytes": 2892, + "sha256": "2dc61c12421e0fd2556fcbb4a3f09d983ec09487f443543dfd1f399e49970cdc", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h", + "bytes": 948, + "sha256": "d691cd0b7efc3973eb7643177b9fb7fc703f535f8d3a2feb8721769838e57fb1", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h", + "bytes": 3960, + "sha256": "a5952f0283876d4936a5f2d4b02986501eecb1648ae6df9aa1377cbe702b1c52", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h", + "bytes": 4169, + "sha256": "1999fca83931fd4e130324c8c322eeb584fc0ee93f2d5f792588fcc9b473f6ed", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h", + "bytes": 1298, + "sha256": "6cc2f85619723a929dd0769d5072625b5fd8d50edc7421e70fff43edb7169d94", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h", + "bytes": 10715, + "sha256": "321de0f0993e17553bb211f21edff5b4f1c11738d5551116f3b06a8393ce41f9", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h", + "bytes": 6924, + "sha256": "5fc7bd13d7161135656c45c6a9c7e3e2e76677cb871bd37306c2334a890cad9c", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h", + "bytes": 1524, + "sha256": "715849f809a9ec47d18dc8dce4bdef3b4e80327d0ffc711e4aca057142af2f34", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h", + "bytes": 917, + "sha256": "e56a2853b629f9b88dde117aca2213d76329ddcd20a88536abf9cbc0bf3e1828", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h", + "bytes": 4235, + "sha256": "256730ffac7856335a8ac3a080822cecfa7f330d77377fb806c370c84869ba92", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h", + "bytes": 4840, + "sha256": "d00fc4ff751939442bb13200c245be5c7ab180a7f72e7b319b20548e918612b3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h", + "bytes": 3558, + "sha256": "cad297231afa3fe7cc90d66cd8507d13c037e5d1818e2b7d799b9a32d6e6efe9", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h", + "bytes": 4832, + "sha256": "9137c7fe117fec9307874e6171240c6187918b3196b22565af89ec9c944f5349", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h", + "bytes": 1144, + "sha256": "5a26f5d6c0099b6f338ed8b99cc028567836d8efdc08e26af4fb513456cec2f2", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h", + "bytes": 4350, + "sha256": "e0eef442b4a28d84342c008c03db818e0321a1e86a2308d5ab3fdde9a2786b58", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h", + "bytes": 28402, + "sha256": "c57a807c586b9bc8badbeb0efca1998a5b02ddd772685fa45affa05d775d3ab5", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h", + "bytes": 4401, + "sha256": "4bf2efbba9eff4a89fc749d3e8eeeab4214413d01b7708fe398138fbbf445469", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h", + "bytes": 94603, + "sha256": "d8c0f2d77952e655c40122a1f81d332bbbf3b60d8a0e6e35a65b709f9fa82018", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h", + "bytes": 1736, + "sha256": "48a0510e236793b2b45f59b153f12e99e354ae7f522723859b6572c3890cf297", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def", + "bytes": 72523, + "sha256": "f70aa7747e4e7eb16e7b8e5b980ce7aad073f3eab04b0490b04757075751557f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h", + "bytes": 263001, + "sha256": "e43b7e2a14af9d9f70d3665117a7c56022dc024e9d7d5342515480b661c1a4fb", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def", + "bytes": 2857, + "sha256": "ff574f07a550c10b969f9bc6e807cff29dd42165f5b4576346d582f61eb977d2", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h", + "bytes": 2074, + "sha256": "d510e8c6a7577927866daa8ac11d119c0053aed4fd06b36e69d46094ac142ee3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h", + "bytes": 876, + "sha256": "0d38c04e33b5148e3b942a927cc527426b78ac11ed3ceb4f3269b021f90aa016", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h", + "bytes": 3858, + "sha256": "aca99131c169f3ad2b1dbdc9ea8212af4db1b60dea6504a4a898f3b709ee6fe8", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h", + "bytes": 1507, + "sha256": "79619807973c2ef13c659fa7b489d03b4f0d33999abdc6e764f24361d2b0175b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h", + "bytes": 16565, + "sha256": "d0fa2a152a1ccae57677a247f8d3d0e0b7587b8c278b0a25599d93cfec060474", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h", + "bytes": 2454, + "sha256": "169467579ba4adbfd804265ac2bd7359ef16c79391fa6602f4d7f2033061bf6b", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h", + "bytes": 4631, + "sha256": "bb80a90527416b1719df1eb3f393a33a0dc0ea441192dacc83e58c69574f52da", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h", + "bytes": 2013, + "sha256": "89196b6ff62143633c6a518df1836c04bb72e30afb08224e0dbdd75128069274", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h", + "bytes": 4832, + "sha256": "8d7d741b2c71b3c7e40e6391815f74052648c61c43ab79119776e74722dcba04", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h", + "bytes": 5296, + "sha256": "f1393db4cd32c375b0ce3214da19c2349b24b7fa74d40afa387df74e30927dd1", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h", + "bytes": 1408, + "sha256": "8212903dda4dede929ebe9dce14e52a435e858d377e1e2e32431d307f3a7c9c9", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h", + "bytes": 6554, + "sha256": "f6cde179c507cc69043d9dd279051d105070ac06dcda4b053e85b0c24763e3b4", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h", + "bytes": 35834, + "sha256": "7e3b1ccb1268f0a3068503204f0de815e4bf7744b1c519f47f1a9673e10a3188", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h", + "bytes": 17660, + "sha256": "803a42ad4f6efc53d2e7da1e0860f2bf1431e30a274e2208d32c4c8db4609005", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h", + "bytes": 3366, + "sha256": "20af661619be8b238c7e86125de78ee17ff8c1df86ba14819bc2f5d8c5d236b8", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h", + "bytes": 5396, + "sha256": "1615a0e5983a6ae79f9cd34924a43c6b6bc5bc63cd0bd8f688775fc7b41c1b8f", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h", + "bytes": 68181, + "sha256": "3b4f5d131eaaf0b85bd32d96b745296829e8b041e51f3edef9b315d95778e84e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h", + "bytes": 20401, + "sha256": "f8cd58ea9fb282c54da1234af84636a1c3a048ec945f994376afcbc4e752c505", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h", + "bytes": 885, + "sha256": "fe068e90580c6b374a6edac2c134b2c4180d393a0147e373cefa33cf2869d1cc", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h", + "bytes": 6525, + "sha256": "99071fb0b5ecdf2815fbbfe637ed7c4b89dcfa1e524c5b818af845ca0db0cbb3", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h", + "bytes": 3388, + "sha256": "47dd314e60d70600a3f8dcc7a7ac53510c59dce4a6d25adb57fda92e8b315201", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h", + "bytes": 6900, + "sha256": "6bec4dbf6021c2e28cb381ac74f8fe642643c1b3089e0cf5ddd2adf96f672eb9", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h", + "bytes": 3351, + "sha256": "8ba13aba55db5db81c466ba6746d4f69f5d42fa2fc9b003bbbf5e85e9fe3ee06", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h", + "bytes": 1410, + "sha256": "09fe308dede2d6b4440bfab52635e68e4d6530e9a63d49824dec7e67bd8a7d4e", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h", + "bytes": 113480, + "sha256": "f68d0a5f637239065ad46e0f6bcc840d3491e33b391ed85844eb1983b9d34f81", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h", + "bytes": 1177, + "sha256": "586e49f5466bd85323f6b458ba8c1beb99bed3bfb5f62fbe8a2ad5bbb87c26b1", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/control", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/control", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/control", + "bytes": 684, + "sha256": "4bc09829ffea727e7f43f6b14150798e1e784a3dd2b48adef5b578b9aedfa1bd", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/source-artifacts/plugin-members/md5sums", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/md5sums", + "source_relative_to_frozen_root": "unit03/source-artifacts/plugin-members/md5sums", + "bytes": 45223, + "sha256": "3f23ce0979a27ac4a8d8e178468e1565055e44935f381ffe9bcb4c103e0a5f68", + "adaptation": "none; exact bytes" + }, + { + "path": "source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes", + "source_relative_to_frozen_root": "source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes", + "bytes": 47145, + "sha256": "db40bf0222e18a133216deb061955adc3a54ef4ff6e1b4fe469ff8c404422b61", + "adaptation": "none; exact bytes" + }, + { + "path": "source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo", + "source_relative_to_frozen_root": "source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo", + "bytes": 52703, + "sha256": "6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83", + "adaptation": "none; exact bytes" + }, + { + "path": "source-artifacts/BINARY-PACKAGE-CORRESPONDENCE-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/source-artifacts/BINARY-PACKAGE-CORRESPONDENCE-v1.json", + "source_relative_to_frozen_root": "source-artifacts/BINARY-PACKAGE-CORRESPONDENCE-v1.json", + "bytes": 3437, + "sha256": "7ade5b65ff17b1a941bc768eb81aaffb986ba6b40fea689d3408f1889032b98f", + "adaptation": "none; exact bytes" + }, + { + "path": "source-artifacts/BINARY-PACKAGE-CONTROL-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/source-artifacts/BINARY-PACKAGE-CONTROL-v1.json", + "source_relative_to_frozen_root": "source-artifacts/BINARY-PACKAGE-CONTROL-v1.json", + "bytes": 1006, + "sha256": "f3977bdeb2ac577d432f1a7435d37f6233f31b5cb34a8291d093eebd5f03b709", + "adaptation": "none; exact bytes" + }, + { + "path": "source-artifacts/BINARY-PACKAGE-MEMBERS-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/source-artifacts/BINARY-PACKAGE-MEMBERS-v1.json", + "source_relative_to_frozen_root": "source-artifacts/BINARY-PACKAGE-MEMBERS-v1.json", + "bytes": 1178, + "sha256": "2b0450c2b6c0d2d68f90f12a980948abe0a77a9aadab0c0b240447ddccf33f85", + "adaptation": "none; exact bytes" + }, + { + "path": "source-artifacts/PUBLISHER-BUILD-CHECKSUM-ASSOCIATION-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/source-artifacts/PUBLISHER-BUILD-CHECKSUM-ASSOCIATION-v1.json", + "source_relative_to_frozen_root": "source-artifacts/PUBLISHER-BUILD-CHECKSUM-ASSOCIATION-v1.json", + "bytes": 7161, + "sha256": "21cb1f2059830a63ae9c3a289e960ff7df15a10cb66b6ff9bfcab025ea5c2d3f", + "adaptation": "none; exact bytes" + }, + { + "path": "source-artifacts/BUILDINFO-CHANGES-ACQUISITION-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/source-artifacts/BUILDINFO-CHANGES-ACQUISITION-v1.json", + "source_relative_to_frozen_root": "source-artifacts/BUILDINFO-CHANGES-ACQUISITION-v1.json", + "bytes": 2565, + "sha256": "e88faa80dad30d0b90a35dbcefe8238b3904fdcb348b57736b2d828d41288e77", + "adaptation": "none; exact bytes" + }, + { + "path": "source-artifacts/LAUNCHPAD-EXACT-BUILD-ACQUISITION-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/source-artifacts/LAUNCHPAD-EXACT-BUILD-ACQUISITION-v1.json", + "source_relative_to_frozen_root": "source-artifacts/LAUNCHPAD-EXACT-BUILD-ACQUISITION-v1.json", + "bytes": 2698, + "sha256": "cce05c10bb2065629b93870303777b112afd143a0f6c3fba8f3071158c81a93a", + "adaptation": "none; exact bytes" + }, + { + "path": "evidence/EMBEDDED-CONFIGURATION-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/evidence/EMBEDDED-CONFIGURATION-v1.json", + "source_relative_to_frozen_root": "evidence/EMBEDDED-CONFIGURATION-v1.json", + "bytes": 1727, + "sha256": "b02f8530e592eddeac5f86a2fb3a8ea80f25ac0e8ab2945fccb64a665b18d4cc", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/SOURCE-CLOSE-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/SOURCE-CLOSE-v1.json", + "source_relative_to_frozen_root": "unit03/SOURCE-CLOSE-v1.json", + "bytes": 1593, + "sha256": "84c73974cbc76159802cf9c894df404b206624b4a943e1451336e93faf85b958", + "adaptation": "none; exact bytes" + }, + { + "path": "unit03/REPAIR-WINDOW-v1.json", + "source_origin": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/REPAIR-WINDOW-v1.json", + "source_relative_to_frozen_root": "unit03/REPAIR-WINDOW-v1.json", + "bytes": 739, + "sha256": "78c60279340f10d3424f718adb42016b634cb83c995cd9ed45434c20979f6e2d", + "adaptation": "none; exact bytes" + } + ], + "core_equivalence": [ + { + "path": "unit03/gcc/configured_data_v1.py", + "source_sha256": "8fd118f1a0e3ddb569438722349b59d2d5e887a61b46850806a9694838aea6d9", + "export_sha256": "8fd118f1a0e3ddb569438722349b59d2d5e887a61b46850806a9694838aea6d9", + "bytes": 10098, + "byte_exact": true, + "ast_identical": true, + "reference_path_adaptations": [] + }, + { + "path": "unit03/gcc/generated_config_v1.py", + "source_sha256": "7d3fca92570304a3d53e8df7de9c2298a96f41cd44f050172a64ecbe897e608f", + "export_sha256": "7d3fca92570304a3d53e8df7de9c2298a96f41cd44f050172a64ecbe897e608f", + "bytes": 19555, + "byte_exact": true, + "ast_identical": true, + "reference_path_adaptations": [] + }, + { + "path": "unit03/gcc/test_configured_data_v1.py", + "source_sha256": "25739228ec6f02e5b256e2ab04eec430b9ca689e1db7141836c0b42bca2d12f0", + "export_sha256": "25739228ec6f02e5b256e2ab04eec430b9ca689e1db7141836c0b42bca2d12f0", + "bytes": 15566, + "byte_exact": true, + "ast_identical": true, + "reference_path_adaptations": [] + } + ], + "transitive_replay_inputs": "All proof-relevant data consumed by the registered new pure tests are inside this package.", + "omitted_inert_tools": [ + "acquire_inputs_v1.py", + "extract_plugin_v1.py", + "passive_zstd_v1.py" + ], + "history": "SOURCE-ORIGIN is a byte/path export receipt, not Git-history availability of the original local research, signature verification or reproducible-build semantics." +} diff --git a/research/h25-gcc-generated-config-data/SOURCES.json b/research/h25-gcc-generated-config-data/SOURCES.json new file mode 100644 index 0000000000..594089b9c7 --- /dev/null +++ b/research/h25-gcc-generated-config-data/SOURCES.json @@ -0,0 +1,18 @@ +{ + "schema_version": 1, + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "d59b5035e7b4cbaa9d688a1d32dd0d6eb79c466a", + "sha256": "9b8d0eea95b3bf0dfcb7938a732a6439b87a2685dec2a5ab9e525b3b34debbfa" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "3404fbdd5e7529a0674eef26114b5071e4586cec", + "sha256": "ead6cdc9d0af6d58e8a49744d8ec8c7c15e13d2ba93c276c434bcf9b51b93a81" + } + ] +} diff --git a/research/h25-gcc-generated-config-data/TASK.json b/research/h25-gcc-generated-config-data/TASK.json new file mode 100644 index 0000000000..e5cdba7a75 --- /dev/null +++ b/research/h25-gcc-generated-config-data/TASK.json @@ -0,0 +1,66 @@ +{ + "schema_version": 1, + "task_id": "portable-replay", + "priority_revision": 8, + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_card": { + "id": "portable-replay", + "question": "Can one reproducible environment or artifact-comparison failure be repaired?", + "starting_points": [ + "research/gzip-container-reproducibility/README.md", + "docs/ci-verification.md" + ], + "methods": [ + "Reproduce one portability failure and add a minimal cross-environment fix.", + "Audit one canonical-payload comparison for omitted proof-relevant fields." + ], + "acceptance_gate": "Preserve immutable source hashes and proof-relevant content; a different compressed byte stream alone is not a mathematical mismatch.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_selected_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Resolve the current selected review, separate complex/ordinary BIT/admitted BIT/outer budgets, and compare the card against live handoffs before starting. Historical ceilings require exact source/model equivalence.", + "scope": "Source-binding orientation only; not a scientific replay or all-size proof. Materialize selected inputs if this checkout is sparse." + }, + "first_experiment": "Reproduce one specific mismatch or audit one canonical comparison for omitted proof-relevant fields.", + "bottleneck_link": "Portable exact checks prevent environment failures from blocking valid contributions.", + "allowed_variations": [ + "One interpreter/version mismatch or one payload field comparison." + ], + "scope_change_triggers": [ + "Removing immutable-source pins because generated compressed bytes differ." + ], + "overlap_terms": [ + "gzip container", + "reproducibility", + "canonical payload" + ] + }, + "scope_status": "changed", + "actual_scope": "Self-contained frozen generated-GCC header/configuration-data packet and its repaired conditional-directive/literal graph recorder, with raw package/provenance identity and 29 pure finite controls. Partial source component; no effective installed compiler configuration or original runtime admission.", + "scope_change_reason": "The original portable-replay card is historical provenance. The assigned follow-up retains same-build published configuration data and a bounded structural recorder after the parent-interface audit; all original C05/V03 acceptance predicates remain open.", + "bottleneck_link": "Source-bound verifier qualification prerequisites; no change to the multiplication supplier, selected result or framework assumptions.", + "budget_minutes": 15, + "stop_rule": "Publication-only preparation of the closed Unit03 component; source closed 2026-11-02T09:42:53.047075Z. No source extension, new scientific budget, original/native/compiler/namespace/target execution, acquisition or archive decoding.", + "outcome": "partial", + "evidence": "Byte-exact FREEZE-v2 core; SOURCE-ORIGIN.json; retained repaired and rejected reports; 29 new pure finite tests in normal and optimized Python. Physical costs OPEN_NOT_ZERO.", + "author": "Chris R / Clear1nsight", + "ai_assistance": "ChatGPT Pro source consultation; substantial OpenAI Codex and GPT-6.1 Sol Max source, test, review and publication-package assistance. Independent agent source/data review is not human or proof-kernel acceptance.", + "open_questions": [ + { + "question": "Can final installed-stage compiler driver/preprocessor/prefix definitions and effective configuration be recovered with authenticated same-build provenance?", + "why_it_matters": "Literal conditional directives and generated headers do not establish effective configuration or complete compiler query behavior.", + "first_step": "In a separately authorized source unit, resolve the exact final-stage build evidence after the retained Launchpad HTTP503 and enumerate missing specs.h, multilib.h and option initialisers.", + "blocked_by": "Final installed-stage evidence unavailable; guards remain uninterpreted and package metadata does not fill the missing cells." + }, + { + "question": "Can actual query behavior, namespace/input closure and runtime admission complete the original C05/full V03?", + "why_it_matters": "Original 43.5% / 22 of 49 activities remains unchanged; structural header data supplies no runtime/control/stage acceptance.", + "first_step": "Review a concrete clean parent/control-domain successor and complete compiler-query frontier against every original source/output/current-context and closure predicate.", + "blocked_by": "Effective configuration, whole query semantics, concrete namespace ownership, immutable input interval, runtime/stage/funding admission and physical invoice remain open." + } + ] +} diff --git a/research/h25-gcc-generated-config-data/VERIFY.json b/research/h25-gcc-generated-config-data/VERIFY.json new file mode 100644 index 0000000000..0738710a9a --- /dev/null +++ b/research/h25-gcc-generated-config-data/VERIFY.json @@ -0,0 +1,32 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [], + "commands": [ + { + "argv": [ + "{python}", + "-I", + "-B", + "-S", + "{package}/run.py" + ], + "timeout_seconds": 60, + "checks": "Package-local byte identities and 29 repaired pure finite controls; no original implementation imports, compiler/runtime execution, acquisition or archive decompression." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "-S", + "-O", + "{package}/run.py" + ], + "timeout_seconds": 60, + "checks": "Same package-local integrity and 29 controls with Python optimization enabled." + } + ] +} diff --git a/research/h25-gcc-generated-config-data/evidence/EMBEDDED-CONFIGURATION-v1.json b/research/h25-gcc-generated-config-data/evidence/EMBEDDED-CONFIGURATION-v1.json new file mode 100644 index 0000000000..e81c37aa4f --- /dev/null +++ b/research/h25-gcc-generated-config-data/evidence/EMBEDDED-CONFIGURATION-v1.json @@ -0,0 +1,10 @@ +{ + "scope": "Passive data-string extraction from the exact pinned public executable, no execution; embedded configure text is a claim in binary metadata, not proof of complete source/build or semantics.", + "path": "/usr/bin/x86_64-linux-gnu-gcc-13", + "sha256": "1b99826121ae6682a634e5efe09bd3e3df58ce58e0b28f849114ab5b89139c26", + "matches": [ + "../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04.1' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2" + ], + "compiler_invoked": false, + "full_C05": false +} diff --git a/research/h25-gcc-generated-config-data/run.py b/research/h25-gcc-generated-config-data/run.py new file mode 100644 index 0000000000..42aa9a556b --- /dev/null +++ b/research/h25-gcc-generated-config-data/run.py @@ -0,0 +1,28 @@ +"""Thin export integrity and pure-test entry point; package-local inputs only.""" +from pathlib import Path +import hashlib +import importlib +import json +import sys +import unittest + +ROOT = Path(__file__).resolve().parent +manifest = json.loads((ROOT / "SOURCE-ORIGIN.json").read_text()) +for row in manifest["copied_files"]: + path = ROOT / row["path"] + if path.is_symlink() or not path.is_file(): + raise SystemExit("nonregular export input: " + row["path"]) + body = path.read_bytes() + if len(body) != row["bytes"] or hashlib.sha256(body).hexdigest() != row["sha256"]: + raise SystemExit("export byte identity mismatch: " + row["path"]) +core = ROOT / "unit03/gcc" +sys.path.insert(0, str(core)) +module = importlib.import_module("test_configured_data_v1") +for name in ("configured_data_v1", "generated_config_v1", "test_configured_data_v1"): + if Path(sys.modules[name].__file__).resolve().parent != core: + raise SystemExit("nonlocal module: " + name) +suite = unittest.defaultTestLoader.loadTestsFromModule(module) +result = unittest.TextTestRunner(verbosity=2).run(suite) +if result.testsRun != 29 or not result.wasSuccessful(): + raise SystemExit(1) +print("PASS_EXPORTED_BYTE_IDENTITIES_AND_29_PURE_CONTROLS") diff --git a/research/h25-gcc-generated-config-data/source-artifacts/BINARY-PACKAGE-CONTROL-v1.json b/research/h25-gcc-generated-config-data/source-artifacts/BINARY-PACKAGE-CONTROL-v1.json new file mode 100644 index 0000000000..5c9d7bc570 --- /dev/null +++ b/research/h25-gcc-generated-config-data/source-artifacts/BINARY-PACKAGE-CONTROL-v1.json @@ -0,0 +1,23 @@ +[ + { + "package_archive": "binutils-x86-64-linux-gnu_2.42-4ubuntu2.10_amd64.deb", + "returncode": 0, + "stdout": "Package: binutils-x86-64-linux-gnu\nVersion: 2.42-4ubuntu2.10\nSource: binutils\nArchitecture: amd64\n", + "stderr": "", + "operation": "Read control metadata only, no installation or package scripts" + }, + { + "package_archive": "cpp-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "returncode": 0, + "stdout": "Package: cpp-13-x86-64-linux-gnu\nVersion: 13.3.0-6ubuntu2~24.04.1\nSource: gcc-13\nArchitecture: amd64\n", + "stderr": "", + "operation": "Read control metadata only, no installation or package scripts" + }, + { + "package_archive": "gcc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "returncode": 0, + "stdout": "Package: gcc-13-x86-64-linux-gnu\nVersion: 13.3.0-6ubuntu2~24.04.1\nSource: gcc-13\nArchitecture: amd64\n", + "stderr": "", + "operation": "Read control metadata only, no installation or package scripts" + } +] diff --git a/research/h25-gcc-generated-config-data/source-artifacts/BINARY-PACKAGE-CORRESPONDENCE-v1.json b/research/h25-gcc-generated-config-data/source-artifacts/BINARY-PACKAGE-CORRESPONDENCE-v1.json new file mode 100644 index 0000000000..51c99682ab --- /dev/null +++ b/research/h25-gcc-generated-config-data/source-artifacts/BINARY-PACKAGE-CORRESPONDENCE-v1.json @@ -0,0 +1,89 @@ +{ + "claims": "Official downloaded package member hashes compared to original pins; no signature/build reproducibility or configured-rule completeness claim; no package code installed/executed", + "results": [ + { + "package": "binutils-x86-64-linux-gnu_2.42-4ubuntu2.10_amd64.deb", + "source_execution": false, + "selected_pinned_members": [ + { + "path": "/usr/bin/x86_64-linux-gnu-as", + "bytes": 745768, + "sha256": "21aff249b692b5c31a44007491f922dcb49f41323e362c57d2ada3f52eddb7f0", + "mode": 493, + "expected_sha256": "21aff249b692b5c31a44007491f922dcb49f41323e362c57d2ada3f52eddb7f0", + "expected_bytes": 745768, + "matches_pin": true + }, + { + "path": "/usr/bin/x86_64-linux-gnu-ld.bfd", + "bytes": 1359128, + "sha256": "e9ceb054c12207970f2726dfc07e9a66b411602748628baf27399f02a9bbb31b", + "mode": 493, + "expected_sha256": "e9ceb054c12207970f2726dfc07e9a66b411602748628baf27399f02a9bbb31b", + "expected_bytes": 1359128, + "matches_pin": true + } + ], + "returncode": 0, + "stderr": "", + "decompressed_bytes_read": 11847680, + "status": "passive_selected_member_read_complete" + }, + { + "package": "cpp-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "source_execution": false, + "selected_pinned_members": [ + { + "path": "/usr/libexec/gcc/x86_64-linux-gnu/13/cc1", + "bytes": 30487984, + "sha256": "5d1679131184e2de4435b426eb264bf13472fe026db8e5c6bc97445814e8e2f4", + "mode": 493, + "expected_sha256": "5d1679131184e2de4435b426eb264bf13472fe026db8e5c6bc97445814e8e2f4", + "expected_bytes": 30487984, + "matches_pin": true + } + ], + "returncode": 0, + "stderr": "", + "decompressed_bytes_read": 31539200, + "status": "passive_selected_member_read_complete" + }, + { + "package": "gcc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "source_execution": false, + "selected_pinned_members": [ + { + "path": "/usr/bin/x86_64-linux-gnu-gcc-13", + "bytes": 1023032, + "sha256": "1b99826121ae6682a634e5efe09bd3e3df58ce58e0b28f849114ab5b89139c26", + "mode": 493, + "expected_sha256": "1b99826121ae6682a634e5efe09bd3e3df58ce58e0b28f849114ab5b89139c26", + "expected_bytes": 1023032, + "matches_pin": true + }, + { + "path": "/usr/libexec/gcc/x86_64-linux-gnu/13/collect2", + "bytes": 336056, + "sha256": "4d1f341ae5b763b513258ee2812422a45e063c30a2f1924a0cf63d3699f3a158", + "mode": 493, + "expected_sha256": "4d1f341ae5b763b513258ee2812422a45e063c30a2f1924a0cf63d3699f3a158", + "expected_bytes": 336056, + "matches_pin": true + }, + { + "path": "/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so", + "bytes": 68296, + "sha256": "14469ff8498fca3871c29dbf678c2330123207fffb8308151314a08395309ddf", + "mode": 493, + "expected_sha256": "14469ff8498fca3871c29dbf678c2330123207fffb8308151314a08395309ddf", + "expected_bytes": 68296, + "matches_pin": true + } + ], + "returncode": 0, + "stderr": "", + "decompressed_bytes_read": 62801920, + "status": "passive_selected_member_read_complete" + } + ] +} diff --git a/research/h25-gcc-generated-config-data/source-artifacts/BINARY-PACKAGE-MEMBERS-v1.json b/research/h25-gcc-generated-config-data/source-artifacts/BINARY-PACKAGE-MEMBERS-v1.json new file mode 100644 index 0000000000..b40fbe501a --- /dev/null +++ b/research/h25-gcc-generated-config-data/source-artifacts/BINARY-PACKAGE-MEMBERS-v1.json @@ -0,0 +1,62 @@ +[ + { + "package": "binutils-x86-64-linux-gnu_2.42-4ubuntu2.10_amd64.deb", + "members": [ + { + "name": "debian-binary", + "bytes": 4, + "offset": 68 + }, + { + "name": "control.tar.zst", + "bytes": 3632, + "offset": 132 + }, + { + "name": "data.tar.zst", + "bytes": 2458920, + "offset": 3824 + } + ] + }, + { + "package": "cpp-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "members": [ + { + "name": "debian-binary", + "bytes": 4, + "offset": 68 + }, + { + "name": "control.tar.zst", + "bytes": 910, + "offset": 132 + }, + { + "name": "data.tar.zst", + "bytes": 10713440, + "offset": 1102 + } + ] + }, + { + "package": "gcc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "members": [ + { + "name": "debian-binary", + "bytes": 4, + "offset": 68 + }, + { + "name": "control.tar.zst", + "bytes": 1483, + "offset": 132 + }, + { + "name": "data.tar.zst", + "bytes": 21082869, + "offset": 1676 + } + ] + } +] diff --git a/research/h25-gcc-generated-config-data/source-artifacts/BUILDINFO-CHANGES-ACQUISITION-v1.json b/research/h25-gcc-generated-config-data/source-artifacts/BUILDINFO-CHANGES-ACQUISITION-v1.json new file mode 100644 index 0000000000..bf9c137d5b --- /dev/null +++ b/research/h25-gcc-generated-config-data/source-artifacts/BUILDINFO-CHANGES-ACQUISITION-v1.json @@ -0,0 +1,46 @@ +[ + { + "binary": "gcc-13-x86-64-linux-gnu", + "field": "buildinfo_url", + "url": "https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/lp-2101084-again/+build/32148542/+files/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo", + "observed_utc": "2026-11-02T07:11:37.432483+00:00", + "final_url": "https://launchpadlibrarian.net/843548732/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo", + "status": "downloaded", + "path": "outputs/c05-v03-completion-20261102T055710Z/source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo", + "bytes": 52703, + "sha256": "6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83" + }, + { + "binary": "gcc-13-x86-64-linux-gnu", + "field": "changesfile_url", + "url": "https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/lp-2101084-again/+build/32148542/+files/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes", + "observed_utc": "2026-11-02T07:11:37.433417+00:00", + "final_url": "https://launchpadlibrarian.net/843548730/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes", + "status": "downloaded", + "path": "outputs/c05-v03-completion-20261102T055710Z/source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes", + "bytes": 47145, + "sha256": "db40bf0222e18a133216deb061955adc3a54ef4ff6e1b4fe469ff8c404422b61" + }, + { + "binary": "binutils-x86-64-linux-gnu", + "field": "buildinfo_url", + "url": "https://launchpad.net/ubuntu/+source/binutils/2.42-4ubuntu2.10/+build/32324448/+files/binutils_2.42-4ubuntu2.10_amd64.buildinfo", + "observed_utc": "2026-11-02T07:11:37.434109+00:00", + "final_url": "https://launchpadlibrarian.net/849512559/binutils_2.42-4ubuntu2.10_amd64.buildinfo", + "status": "downloaded", + "path": "outputs/c05-v03-completion-20261102T055710Z/source-artifacts/binutils_2.42-4ubuntu2.10_amd64.buildinfo", + "bytes": 46687, + "sha256": "8dcaeb49a787f3f57fd57804d790655618a68dd36b2b214c47df4bdcd4c5fc02" + }, + { + "binary": "binutils-x86-64-linux-gnu", + "field": "changesfile_url", + "url": "https://launchpad.net/ubuntu/+source/binutils/2.42-4ubuntu2.10/+build/32324448/+files/binutils_2.42-4ubuntu2.10_amd64.changes", + "observed_utc": "2026-11-02T07:11:58.244056+00:00", + "final_url": "https://launchpadlibrarian.net/849512556/binutils_2.42-4ubuntu2.10_amd64.changes", + "status": "downloaded", + "path": "outputs/c05-v03-completion-20261102T055710Z/source-artifacts/binutils_2.42-4ubuntu2.10_amd64.changes", + "bytes": 31466, + "sha256": "cb8f80d004b2f938b6bc7d96f181e9089f670259c4c2e59bc480bd9d88e21fab" + } +] diff --git a/research/h25-gcc-generated-config-data/source-artifacts/LAUNCHPAD-EXACT-BUILD-ACQUISITION-v1.json b/research/h25-gcc-generated-config-data/source-artifacts/LAUNCHPAD-EXACT-BUILD-ACQUISITION-v1.json new file mode 100644 index 0000000000..4b1c7e1379 --- /dev/null +++ b/research/h25-gcc-generated-config-data/source-artifacts/LAUNCHPAD-EXACT-BUILD-ACQUISITION-v1.json @@ -0,0 +1,44 @@ +[ + { + "binary": "gcc-13-x86-64-linux-gnu", + "url": "https://api.launchpad.net/1.0/~ubuntu-toolchain-r/+archive/ubuntu/lp-2101084-again/+build/32148542", + "observed_utc": "2026-11-02T07:08:57.104554+00:00", + "status": "downloaded", + "bytes": 1900, + "sha256": "c776295d23a87c9efdccbd9b43b0cc79f037163b14037a37c2e8f7dcfc714379", + "details": { + "self_link": "https://api.launchpad.net/1.0/~ubuntu-toolchain-r/+archive/ubuntu/lp-2101084-again/+build/32148542", + "arch_tag": "amd64", + "distro_arch_series_link": null, + "buildstate": "Successfully built", + "source_package_name": "gcc-13", + "source_package_version": "13.3.0-6ubuntu2~24.04.1", + "buildinfo_url": "https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/lp-2101084-again/+build/32148542/+files/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo", + "build_log_url": "https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/lp-2101084-again/+build/32148542/+files/buildlog_ubuntu-noble-amd64.gcc-13_13.3.0-6ubuntu2~24.04.1_BUILDING.txt.gz", + "changesfile_url": "https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/lp-2101084-again/+build/32148542/+files/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes", + "datebuilt": "2026-01-16T19:42:46.380374+00:00", + "archive_link": "https://api.launchpad.net/1.0/~ubuntu-toolchain-r/+archive/ubuntu/lp-2101084-again" + } + }, + { + "binary": "binutils-x86-64-linux-gnu", + "url": "https://api.launchpad.net/1.0/ubuntu/+source/binutils/2.42-4ubuntu2.10/+build/32324448", + "observed_utc": "2026-11-02T07:08:57.105518+00:00", + "status": "downloaded", + "bytes": 1759, + "sha256": "2f11c32b2854aae3c4f58d3f0e43d6257e9b42d6add776f83a12cfe05ca75f01", + "details": { + "self_link": "https://api.launchpad.net/1.0/ubuntu/+source/binutils/2.42-4ubuntu2.10/+build/32324448", + "arch_tag": "amd64", + "distro_arch_series_link": null, + "buildstate": "Successfully built", + "source_package_name": "binutils", + "source_package_version": "2.42-4ubuntu2.10", + "buildinfo_url": "https://launchpad.net/ubuntu/+source/binutils/2.42-4ubuntu2.10/+build/32324448/+files/binutils_2.42-4ubuntu2.10_amd64.buildinfo", + "build_log_url": "https://launchpad.net/ubuntu/+source/binutils/2.42-4ubuntu2.10/+build/32324448/+files/buildlog_ubuntu-noble-amd64.binutils_2.42-4ubuntu2.10_BUILDING.txt.gz", + "changesfile_url": "https://launchpad.net/ubuntu/+source/binutils/2.42-4ubuntu2.10/+build/32324448/+files/binutils_2.42-4ubuntu2.10_amd64.changes", + "datebuilt": "2026-02-27T15:50:19.561954+00:00", + "archive_link": "https://api.launchpad.net/1.0/ubuntu/+archive/primary" + } + } +] diff --git a/research/h25-gcc-generated-config-data/source-artifacts/PUBLISHER-BUILD-CHECKSUM-ASSOCIATION-v1.json b/research/h25-gcc-generated-config-data/source-artifacts/PUBLISHER-BUILD-CHECKSUM-ASSOCIATION-v1.json new file mode 100644 index 0000000000..2f82b951aa --- /dev/null +++ b/research/h25-gcc-generated-config-data/source-artifacts/PUBLISHER-BUILD-CHECKSUM-ASSOCIATION-v1.json @@ -0,0 +1,153 @@ +{ + "observed_utc": "2026-11-02T07:12:58.521254+00:00", + "sources": [ + { + "source": "gcc-13_13.3.0-6ubuntu2~24.04.1", + "claims": "Publisher metadata/checksum association via exact public primary-publication\u2192amd64 build. OpenPGP signatures not yet independently verified; no reproducible-build or semantic completeness claim.", + "documents": [ + { + "path": "outputs/c05-v03-completion-20261102T055710Z/source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo", + "sha256": "6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83", + "fields": { + "Source": "gcc-13", + "Version": "13.3.0-6ubuntu2~24.04.1", + "Architecture": "all amd64", + "Build-Architecture": "amd64", + "Build-Date": "Fri, 16 Jan 2026 19:40:29 +0000", + "Build-Origin": "Ubuntu" + }, + "local_artifact_matches": [ + { + "file": "cpp-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "expected_sha256": "2ca48bf0c2d6465bc39322899715a85d934b4d7442dd5586a7bebbe3ce0f806b", + "expected_bytes": 10714542, + "observed_sha256": "2ca48bf0c2d6465bc39322899715a85d934b4d7442dd5586a7bebbe3ce0f806b", + "observed_bytes": 10714542, + "matches": true + }, + { + "file": "gcc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "expected_sha256": "a134b0319a82d14581b3a14820d2832af4ec9778ed8b9b4ddaeecfb0555ec325", + "expected_bytes": 21084546, + "observed_sha256": "a134b0319a82d14581b3a14820d2832af4ec9778ed8b9b4ddaeecfb0555ec325", + "observed_bytes": 21084546, + "matches": true + }, + { + "file": "libgcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "expected_sha256": "cd689db2691edaa10f37329307292796bb599e722e0505c79e14caaa1fe9a93a", + "expected_bytes": 2680642, + "observed_sha256": "cd689db2691edaa10f37329307292796bb599e722e0505c79e14caaa1fe9a93a", + "observed_bytes": 2680642, + "matches": true + } + ] + }, + { + "path": "outputs/c05-v03-completion-20261102T055710Z/source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes", + "sha256": "db40bf0222e18a133216deb061955adc3a54ef4ff6e1b4fe469ff8c404422b61", + "fields": { + "Source": "gcc-13", + "Version": "13.3.0-6ubuntu2~24.04.1", + "Architecture": "all amd64", + "Build-Architecture": null, + "Build-Date": null, + "Build-Origin": null + }, + "local_artifact_matches": [ + { + "file": "cpp-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "expected_sha256": "2ca48bf0c2d6465bc39322899715a85d934b4d7442dd5586a7bebbe3ce0f806b", + "expected_bytes": 10714542, + "observed_sha256": "2ca48bf0c2d6465bc39322899715a85d934b4d7442dd5586a7bebbe3ce0f806b", + "observed_bytes": 10714542, + "matches": true + }, + { + "file": "gcc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "expected_sha256": "a134b0319a82d14581b3a14820d2832af4ec9778ed8b9b4ddaeecfb0555ec325", + "expected_bytes": 21084546, + "observed_sha256": "a134b0319a82d14581b3a14820d2832af4ec9778ed8b9b4ddaeecfb0555ec325", + "observed_bytes": 21084546, + "matches": true + }, + { + "file": "gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo", + "expected_sha256": "6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83", + "expected_bytes": 52703, + "observed_sha256": "6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83", + "observed_bytes": 52703, + "matches": true + }, + { + "file": "libgcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "expected_sha256": "cd689db2691edaa10f37329307292796bb599e722e0505c79e14caaa1fe9a93a", + "expected_bytes": 2680642, + "observed_sha256": "cd689db2691edaa10f37329307292796bb599e722e0505c79e14caaa1fe9a93a", + "observed_bytes": 2680642, + "matches": true + } + ] + } + ] + }, + { + "source": "binutils_2.42-4ubuntu2.10", + "claims": "Publisher metadata/checksum association via exact public primary-publication\u2192amd64 build. OpenPGP signatures not yet independently verified; no reproducible-build or semantic completeness claim.", + "documents": [ + { + "path": "outputs/c05-v03-completion-20261102T055710Z/source-artifacts/binutils_2.42-4ubuntu2.10_amd64.buildinfo", + "sha256": "8dcaeb49a787f3f57fd57804d790655618a68dd36b2b214c47df4bdcd4c5fc02", + "fields": { + "Source": "binutils", + "Version": "2.42-4ubuntu2.10", + "Architecture": "all amd64", + "Build-Architecture": "amd64", + "Build-Date": "Fri, 27 Feb 2026 15:48:49 +0000", + "Build-Origin": "Ubuntu" + }, + "local_artifact_matches": [ + { + "file": "binutils-x86-64-linux-gnu_2.42-4ubuntu2.10_amd64.deb", + "expected_sha256": "1e510a15f30208d39edcd840e48f26a77bbca7c417805eeccb1e3f7de198ef29", + "expected_bytes": 2462744, + "observed_sha256": "1e510a15f30208d39edcd840e48f26a77bbca7c417805eeccb1e3f7de198ef29", + "observed_bytes": 2462744, + "matches": true + } + ] + }, + { + "path": "outputs/c05-v03-completion-20261102T055710Z/source-artifacts/binutils_2.42-4ubuntu2.10_amd64.changes", + "sha256": "cb8f80d004b2f938b6bc7d96f181e9089f670259c4c2e59bc480bd9d88e21fab", + "fields": { + "Source": "binutils", + "Version": "2.42-4ubuntu2.10", + "Architecture": "amd64 all amd64_translations", + "Build-Architecture": null, + "Build-Date": null, + "Build-Origin": null + }, + "local_artifact_matches": [ + { + "file": "binutils-x86-64-linux-gnu_2.42-4ubuntu2.10_amd64.deb", + "expected_sha256": "1e510a15f30208d39edcd840e48f26a77bbca7c417805eeccb1e3f7de198ef29", + "expected_bytes": 2462744, + "observed_sha256": "1e510a15f30208d39edcd840e48f26a77bbca7c417805eeccb1e3f7de198ef29", + "observed_bytes": 2462744, + "matches": true + }, + { + "file": "binutils_2.42-4ubuntu2.10_amd64.buildinfo", + "expected_sha256": "8dcaeb49a787f3f57fd57804d790655618a68dd36b2b214c47df4bdcd4c5fc02", + "expected_bytes": 46687, + "observed_sha256": "8dcaeb49a787f3f57fd57804d790655618a68dd36b2b214c47df4bdcd4c5fc02", + "observed_bytes": 46687, + "matches": true + } + ] + } + ] + } + ] +} diff --git a/research/h25-gcc-generated-config-data/source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo b/research/h25-gcc-generated-config-data/source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo new file mode 100644 index 0000000000..d73b46acc7 --- /dev/null +++ b/research/h25-gcc-generated-config-data/source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo @@ -0,0 +1,756 @@ +Format: 1.0 +Source: gcc-13 +Binary: cpp-13 cpp-13-doc cpp-13-for-build cpp-13-for-host cpp-13-x86-64-linux-gnu cpp-13-x86-64-linux-gnu-dbgsym g++-13 g++-13-for-build g++-13-for-host g++-13-multilib g++-13-x86-64-linux-gnu g++-13-x86-64-linux-gnu-dbgsym gcc-13 gcc-13-base gcc-13-doc gcc-13-for-build gcc-13-for-host gcc-13-hppa64-linux-gnu gcc-13-hppa64-linux-gnu-dbgsym gcc-13-locales gcc-13-multilib gcc-13-offload-amdgcn gcc-13-offload-amdgcn-dbgsym gcc-13-offload-nvptx gcc-13-offload-nvptx-dbgsym gcc-13-plugin-dev gcc-13-plugin-dev-dbgsym gcc-13-source gcc-13-test-results gcc-13-x86-64-linux-gnu gcc-13-x86-64-linux-gnu-dbgsym gccgo-13 gccgo-13-doc gccgo-13-for-build gccgo-13-for-host gccgo-13-multilib gccgo-13-x86-64-linux-gnu gccgo-13-x86-64-linux-gnu-dbgsym gdc-13 gdc-13-for-build gdc-13-for-host gdc-13-multilib gdc-13-x86-64-linux-gnu gdc-13-x86-64-linux-gnu-dbgsym gfortran-13 gfortran-13-doc gfortran-13-for-build gfortran-13-for-host gfortran-13-multilib gfortran-13-x86-64-linux-gnu + gfortran-13-x86-64-linux-gnu-dbgsym gm2-13 gm2-13-doc gm2-13-for-build gm2-13-for-host gm2-13-x86-64-linux-gnu gm2-13-x86-64-linux-gnu-dbgsym gnat-13 gnat-13-doc gnat-13-for-build gnat-13-for-host gnat-13-x86-64-linux-gnu gnat-13-x86-64-linux-gnu-dbgsym gobjc++-13 gobjc++-13-for-build gobjc++-13-for-host gobjc++-13-multilib gobjc++-13-x86-64-linux-gnu gobjc++-13-x86-64-linux-gnu-dbgsym gobjc-13 gobjc-13-for-build gobjc-13-for-host gobjc-13-multilib gobjc-13-x86-64-linux-gnu gobjc-13-x86-64-linux-gnu-dbgsym lib32gcc-13-dev lib32gfortran-13-dev lib32go-13-dev lib32go22 lib32gphobos-13-dev lib32gphobos4 lib32gphobos4-dbgsym lib32objc-13-dev lib32stdc++-13-dev lib32stdc++6-13-dbg libgcc-13-dev libgccjit-13-dev libgccjit-13-doc libgfortran-13-dev libgm2-13-dev libgm2-18 libgm2-18-dbgsym libgnat-13 libgnat-13-dbgsym libgo-13-dev libgo22 libgphobos-13-dev libgphobos4 libgphobos4-dbgsym libobjc-13-dev libstdc++-13-dev libstdc++-13-doc libstdc++-13-pic libstdc++6-13-dbg + libx32gcc-13-dev libx32gfortran-13-dev libx32go-13-dev libx32go22 libx32gphobos-13-dev libx32gphobos4 libx32gphobos4-dbgsym libx32objc-13-dev libx32stdc++-13-dev + libx32stdc++6-13-dbg +Architecture: all amd64 +Version: 13.3.0-6ubuntu2~24.04.1 +Checksums-Md5: + 1c51d842e23a8b60dc5582a0e3a3de86 180014 cpp-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 738b10705aad8073562990acca8c6e5c 47218 cpp-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + d0a57bc81792cbdc0e1850dbb6c5935d 986 cpp-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 47500aed55ff84bab062d12fb1af4e1b 64988258 cpp-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + e8f6938b588e32e4b04ef3d40e33846c 10714542 cpp-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 3197b91f8a37ff9bbae2ff279bab6e19 1042 cpp-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + c4f21592b5c39ff4973a5db4f576bd1f 868 g++-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 003427d2b13321eb93645d115cff99ce 906 g++-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 90be856ecca03c3b9f108c4a75160bda 892 g++-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 24a6d5fe8452e3f7c639f9c264f26f0e 70110282 g++-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 90ea28b82bebea013965566f3474a3ce 12161938 g++-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 003839ff9b40a2c140c43bd5c0e1186e 16048 g++-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + f2e3cd036355db5350d4336e3f928090 51616 gcc-13-base_13.3.0-6ubuntu2~24.04.1_amd64.deb + e036cd267569eeb0480201f4152a7872 2852452 gcc-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 42794378c74b267ce386c08cf93f41bf 826 gcc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + a8f9d3887e9e35836ec61047d0e83d57 882 gcc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + d18cee2ab6d5202f06e02ff34624a99d 5894834 gcc-13-hppa64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 2193f3fab6c67da58881085278defcdf 17755080 gcc-13-hppa64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 533c078f8fa78c627ff8856281b05451 2235886 gcc-13-locales_13.3.0-6ubuntu2~24.04.1_all.deb + 710f2cac690743daba2285e8906edc13 880 gcc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + b9120fb70231eba82683e406c3529488 72623780 gcc-13-offload-amdgcn-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 63dc4871b239d6c101cdcad1ef8def7d 22044076 gcc-13-offload-amdgcn_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2e7291059605aa49b7ea858b300e2960 69936698 gcc-13-offload-nvptx-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 35af6a387addd6c57750c00120e8d6e1 11690380 gcc-13-offload-nvptx_13.3.0-6ubuntu2~24.04.1_amd64.deb + 520fd28ea6ab90632b789ddf1f43ed2b 247506 gcc-13-plugin-dev-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + b71fd928fbfe45eae7022bb027b29be2 1451870 gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9a2834373f44cf116b990e8ebe7c910d 88627482 gcc-13-source_13.3.0-6ubuntu2~24.04.1_all.deb + d2b9c51cd269aaad702f40cbf4d0956c 16626108 gcc-13-test-results_13.3.0-6ubuntu2~24.04.1_amd64.deb + dfeeb2d54a74d50f46796cae318328a4 164555002 gcc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + cb0b10a8a80f00facc1f782f3666ded7 21084546 gcc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + b754981217b2ad7c21b56f7b87492d67 494262 gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + dac62ff4d935b9e1a29b0dceb988e3fa 52604 gccgo-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + d002fcfd8094e19ec176a0e23cda722b 880 gccgo-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 944b9e2aae2f47bcfd2f64b1b2322e9d 928 gccgo-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 542c0d22e05cb6a92aa20819bf20fa2b 1012 gccgo-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9853762846b3a5856a47e802cfb3f872 75936516 gccgo-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + aad460140f1c1a42b88d6d83c640950d 14208980 gccgo-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 01585cdca7721870ed11a9f6f7b9368b 1028 gccgo-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 0e88172ae36b3fcad0faa31b87469f36 902 gdc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + b63c58b3c17ce6dd5d9268e93079a66d 948 gdc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + d18ba45f07e71b94fe74fdfcc1a82665 912 gdc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 612ee77b9c9a62c84faf3868fa041277 68165418 gdc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 196d79c66d129c1f116a0733fba6949c 11804370 gdc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 742085c5ef2e86180023abcd9206c0d3 49680 gdc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + b87012f610636094ddd343660433eaab 386980 gfortran-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + cb7a32624e662269f056a04a44e9edf4 896 gfortran-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 240e8621a5ccf175e1b17bbe572ad7ca 942 gfortran-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + f503c9560cf3bb15b5c39cd5e61019bf 886 gfortran-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 93903a25dc5e14198f317cdb2225696b 67218820 gfortran-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 1ace0efe31cd92f60a5430bc6bcf16be 11408640 gfortran-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 3e7634cb183f6772969a1b629a32af87 13914 gfortran-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 5d6e02767c3a9fa5cf56e8f956e650ac 290466 gm2-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 8092c66ed9d00cda91d5a1707ab366c9 882 gm2-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 98fe805fbdd46b3204aba788ede7da10 928 gm2-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + a6c32872a8ac66b1a71dd0179f2c1284 65776088 gm2-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + c792ef58089e7735185728672c427ccc 10768804 gm2-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9494353e236ac2c0ba9b2d5053209ba3 75196 gm2-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + da0113532a94ded50a4ebe45fb352e89 1087286 gnat-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 1a055728b5d7bffa34eed23a2a6abf49 958 gnat-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + a05b4d3458fec48c4097b20f67cc8b91 1002 gnat-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + dd403ef9dbf05c9249f59cf0a0495ae3 87322026 gnat-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 70ba1c86dae8255fee0500372b9034ea 19377626 gnat-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 3aed593deb6af1030a3cf41ae3e3fae4 24446 gnat-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1a11de9d48e694244302a3c6574183d1 898 gobjc++-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 050a941332cbd45b890ecd6591227c42 954 gobjc++-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 7f601a660036a64a659a4653e2f0a3ec 878 gobjc++-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1e903437e95ecec1e5c5526de2e24e51 68027816 gobjc++-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 898f56d74c79ef4ea247b1fa8df5aa8f 11465824 gobjc++-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 92f44d27767e7f0e7b6cd436660bffe9 6508 gobjc++-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 903100b0312aafbab08f1b1ca5573e45 892 gobjc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 1ac70aa7092be28fe99a20a5582a87ca 936 gobjc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 335cfd7cb9c3600a8dc217e5b9331bd9 882 gobjc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 56a9d8ff3e8c7d26e87f98e8983ba44e 63718970 gobjc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 6673e954e1aa5c94ffddda1ed2702878 10494440 gobjc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 83c877ea12acd76a1cb5e74825f4d228 37348 gobjc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 6ce654db06d0971c3164910ef1667e27 2380426 lib32gcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 6f3b5335a1fdd58ed3710ef3f8eb3769 823552 lib32gfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1139379bc1207cb13ffc4c8dc87d36fb 18484974 lib32go-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 4b57fd60420ca765bc9c48867e73b391 13879966 lib32go22_13.3.0-6ubuntu2~24.04.1_amd64.deb + 37f9adeb0502957a4e4a2c2281429948 7141728 lib32gphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + cd267db7ca781ec55d90b69bc37e6f81 4854322 lib32gphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 4cbcfc53bce9ba37014071a7c97d6027 2068276 lib32gphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + 60641f19bce85553e6fe264963cf7732 157648 lib32objc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + b5a4f5e0384e659f2143c97de3f4a333 1150410 lib32stdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2a67e7ebbf557f68a9a1db5657461017 12091554 lib32stdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb + d0d5dafa251a34629008620e5b26a5d5 2680642 libgcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2943abe5e154cd602d445240b7a8107a 21016 libgccjit-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 25fa0dc3ca57312f4a521d6861610d49 277148 libgccjit-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 1551c02b54d5d90c2f5b2a45dc0988fe 928110 libgfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + aa56bf06a3532cd43d89c961fd48bb88 849474 libgm2-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1976931b404078dc9072854f1b23c30b 467194 libgm2-18-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + d5fdc79558c34e42f79702076277fede 164784 libgm2-18_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9a7c6f9b04060eb52fbc26d8d38b4049 3149840 libgnat-13-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 3fc0947e6ab333eba189c9cba0156139 1429754 libgnat-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 967abb384d9e16f30c1044156308d424 18960898 libgo-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + c35d1628f0c0733c775a4bb038288f98 14653378 libgo22_13.3.0-6ubuntu2~24.04.1_amd64.deb + d17ff9bb64593b4fc00d53b54010624d 10747734 libgphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9ce6c1c2ce0e3f039f18789670c67f56 5768176 libgphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + b27ef6323d83b8f4b1b49ea05cf3354f 1882160 libgphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + 18573368c36baa296b206476df5f8cea 193650 libobjc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + d4c7bf2ddf49cb3f973620bf04f750ca 2419834 libstdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 41a3e4a8c130c84807fe7821df3bd4b5 9940752 libstdc++-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 99817a17f035ea9e0381ab05bb9af06e 906138 libstdc++-13-pic_13.3.0-6ubuntu2~24.04.1_amd64.deb + 192173cbadfc6ea7a3342808535055ab 12196956 libstdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb + 572461e08685b5fbb81e251939d5d7bc 2190234 libx32gcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + fdeee45fa84f79be92ff318509749385 942252 libx32gfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 12cbd1695d3c4370127a211e8e86a7b7 18660506 libx32go-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 47b035fb674a5403099638d1aec26f51 14432746 libx32go22_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2e03294461aa57b2977ccf2b8ade2729 7857286 libx32gphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 45800d3e3f7212d2b616e467dc96e398 5703998 libx32gphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 5ef476390a50c30b066aa9493491b538 1893034 libx32gphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + 8002fd3086223770c9e99bf07fa49cc2 159550 libx32objc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2b0906837a3b4d253484a237dc55cf15 1086394 libx32stdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 406c5fe947dae2176b4dfead758a105f 12114706 libx32stdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb +Checksums-Sha1: + ebec5e0582b9e7676f37897c23bd7a4c78b54a8f 180014 cpp-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + f1b08291d0644853d2e3cee164fee38b64c95ece 47218 cpp-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + e098191db794e42b954a19b98ae7a760c0aad6d5 986 cpp-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + bf399b602efd9f3dc645ab361d26fdb18a8aa82d 64988258 cpp-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 43d96a39ce51bfcd72fecf4df06d38eca734534a 10714542 cpp-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 0702fb7f236497a52a054995a1b5260fc2cb3ec8 1042 cpp-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 874b4f5bd83eb916afbce80c7067b666518225d6 868 g++-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + f4df8a096e9dbe3f1127f851a54b2534fd4cd548 906 g++-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 5d2e9e0dec5c1e64394de6f0cd14c7e44bef6a43 892 g++-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9f67628fa8901da4c28e865ac19accaca7407170 70110282 g++-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 013bf1a443886f97d5d8aaa808aee3da39419e71 12161938 g++-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2fd7f5647d02baffdf85904ab75b99aa8e140197 16048 g++-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 09e2e0730d3ce2428b1bf6c1a613d2dd6ec1ec5b 51616 gcc-13-base_13.3.0-6ubuntu2~24.04.1_amd64.deb + 8a414f788365634f7a24583aae7fa6e59202692e 2852452 gcc-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 68fe5746e0bf58f91cd7b31a390eabfc7a2a9e07 826 gcc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 0380e03f9d92502a412338d5b96fa8a5cf297e5f 882 gcc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + a9b24ffdfafca2a21be54d90b26043ec65335b80 5894834 gcc-13-hppa64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 4c2b32dfec246bd3d618124d4f2b4b151046bc78 17755080 gcc-13-hppa64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 63a8410db5b2b42653310a5cc86431ba0247a27e 2235886 gcc-13-locales_13.3.0-6ubuntu2~24.04.1_all.deb + 7e30a3736d6e4d86f325bcf02edf320fbd9a03d2 880 gcc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 5bfd4412c49ca44851c689d66c612a9984e84fe6 72623780 gcc-13-offload-amdgcn-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 3a6a3d697a39b4d6f89e5945d615e1fc754fbd04 22044076 gcc-13-offload-amdgcn_13.3.0-6ubuntu2~24.04.1_amd64.deb + 3593515290b6ecc9e53b4200d6f2eaa653dc07c5 69936698 gcc-13-offload-nvptx-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + f95b886bd7633bd3b2612d2dedbe880e8b7c649a 11690380 gcc-13-offload-nvptx_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1404f3734f23e0213f00a18cce25c82bba4be4d4 247506 gcc-13-plugin-dev-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 1aec1bb6b7e7b67725c6bdea00f7f68b5994b217 1451870 gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + b125dc24ed68d75074b17089fbe5261897c2bcb0 88627482 gcc-13-source_13.3.0-6ubuntu2~24.04.1_all.deb + f262aefb0a832a66a6451939778bf33dcd2c9edb 16626108 gcc-13-test-results_13.3.0-6ubuntu2~24.04.1_amd64.deb + 498d25eded747dacf6f15d60df3440f2181206ae 164555002 gcc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 73b49bdc4be6d4dad1c144525e68952d64fa2c76 21084546 gcc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 85bf357840794ef2a4a7cbdf95965e087752ad0a 494262 gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 74960d7ffb176b62055de3c3aa8ea9ceea0243d6 52604 gccgo-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + ed50776887ee811d0d326e62063da011803505f6 880 gccgo-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + ad8b21476aa40e3f1885631d3b84ff51893a3c54 928 gccgo-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9c883a3a7a4caf58b6fbbaa239b91fc58efedd9a 1012 gccgo-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 677c770b010306ef6b1083a8b32b591da6b333e5 75936516 gccgo-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 47dd733ab78e96c52c6fae5d872cbbc1c59fa26f 14208980 gccgo-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + b42ce998dc5a1c2fd3a391e3142c8ee2bfb0eaf5 1028 gccgo-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 97092c688ef9f2b8ec9de3b83ecf485a28e3aaff 902 gdc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 65026c90944894c5befe10d144d7d3c41e93b6a7 948 gdc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 34c43f743afd0468bdc635079f51b0e1026d10f5 912 gdc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 222d592d6bb402446316ce1375445595f5a5e8d9 68165418 gdc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + a8b029c81fd7263b5457cac96dea64a235a4b1c8 11804370 gdc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 85607eb39dbe7702ac5acfdb00acf9d5a154521b 49680 gdc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 0f6ce97713a70bd67292d067008d6b73c15657e3 386980 gfortran-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 8454d0978b8079e1d3b79f86eff15a750c515d33 896 gfortran-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + ffee0d78c6c16b287c694791f4afc460f3670740 942 gfortran-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 05d13772a2ee3a9dcfdd45c6255c4c594b92808a 886 gfortran-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 040cf3864fc3063fdc39380b95bb1d6601714f44 67218820 gfortran-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 601db22a3fefd1ad5fcd2ade3d9e74cce962273b 11408640 gfortran-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 7033c1daa38ba2858108ab7595625cc846b0a959 13914 gfortran-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 7b4219423df76c58af71bf8375bddd1c1abdb98d 290466 gm2-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 7d5d40cfee1280f149cb28bc022ad4694887d130 882 gm2-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + f28585f3c3650004f90349c0836d8ee54a3fa818 928 gm2-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 90efb6ed4c95b8aa40872e805b101c6a7fcf6fe8 65776088 gm2-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 4bf7041e864127415b84b45476a55afc1f17c433 10768804 gm2-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + df334b1c83ab5539cfcb2f977ce9cac01acf2257 75196 gm2-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + ad5466f975b9f09f3bef908e855c443b798db95f 1087286 gnat-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 41cee769a7f7bd8868515b1a4694e0128bc4ffa8 958 gnat-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 2ef1ac60385564d3231236ac9098878e8faced0e 1002 gnat-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + a7e6004c440cdbf27743c5616e4530a8fa6304ff 87322026 gnat-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 4dc69a8cc9bd6a46f3c2b3608d25cd22ba78da5e 19377626 gnat-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 14d42dbd668e2f2b8ca46a3179a5a38be0ac18e3 24446 gnat-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1fa9d4dfb9da3a2dd3f5f7c4e58c01c052bd019b 898 gobjc++-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 5aa7b09038c33563c2933b6b19ae7d9f0126c8ad 954 gobjc++-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + de03c69a27a8d9ad67f73ba0f58c603dc48164b5 878 gobjc++-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 8910616639bb0b808224e09fa5b6ab05367e925d 68027816 gobjc++-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 53d6fb2c6ae3f9ae669e98766e4f62d263f76106 11465824 gobjc++-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9ef5109e48216f83b92b589ad911718826d22cdd 6508 gobjc++-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 17c779488b49ddff44bd6d4dbd434a501f24d745 892 gobjc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 229de8cb1c40865c81f1dc221fbd23ddeb6dfd5a 936 gobjc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 5619c80cef961435a26a8ba7c32d6f6256157839 882 gobjc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + da2d1a316949324112b1d446496cb4fcb6787f38 63718970 gobjc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 178af10b5cde90a43045b0799aa910efd5113cd4 10494440 gobjc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 7554880a34b9a848e96ed9facfd892b15af7e2b7 37348 gobjc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 7366a8107e1d8c1b8107731710270b605438d659 2380426 lib32gcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + db068a5e9970dc6c43bc4fc51876a7c9bf739921 823552 lib32gfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 3644f3793a79795c05138cae6aa416dfb970e978 18484974 lib32go-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 49041c856f0a56c634e3fdf92bb4afa0965e3fd9 13879966 lib32go22_13.3.0-6ubuntu2~24.04.1_amd64.deb + 4c02b44229d39f3ad0e5595927ba7d793011ae22 7141728 lib32gphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 0dd27c1bb271bd19e06421e8a5b48a9996b19016 4854322 lib32gphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 191f26257d78aac3f9213d86bf2c8784081d1204 2068276 lib32gphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + bbb0546276ac114441cb287938dc3560060292f4 157648 lib32objc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9509216f7521d100e90c42d3b6d0a26d9e8cd373 1150410 lib32stdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 4b1dd7e38c17f6e73fbeff0940500d4937d50569 12091554 lib32stdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb + da5172b908e6e4ea4021d734c5e5121e55b11eea 2680642 libgcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1742e2c4a8d2713ac4b2d476cbfe9f06fc63ac12 21016 libgccjit-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 016a442be39ca23d4c85120bff2d2ea56db67d09 277148 libgccjit-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 692025e20dbe34387d67d93b44e311ed27d54286 928110 libgfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 7d0be208a376189c04b6b34d5f794bfa0ac184b1 849474 libgm2-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + a4190778b7005d4f01ad2d8c0bd6aae4aa701f48 467194 libgm2-18-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 9f1d4e34067cf1a29bd8549c6fab832fd8cea943 164784 libgm2-18_13.3.0-6ubuntu2~24.04.1_amd64.deb + 32a929b32891e40662d4d347d71a28dfc5ba63c0 3149840 libgnat-13-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 1b05e972ffac135e00971695cc1684b4306ea586 1429754 libgnat-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + fe6db7a04fff3d964bf90659674cfb69c1db7a62 18960898 libgo-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 310b3b5e757a8c04c3cc02aba07ae928c57cf710 14653378 libgo22_13.3.0-6ubuntu2~24.04.1_amd64.deb + ca7ca57a938969d6f5735c9882ce8356d933cd9c 10747734 libgphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + e4bdce37cb66aa73e9188cd293537c8e816384dc 5768176 libgphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 29c86f3d62f22dcc8dccf4b396c3593d7cbe092a 1882160 libgphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + 48436ed479868eb3348274405dc50d73eb5af3c9 193650 libobjc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1b0450c52b08980eb6118ddb190d2c04fe2eec82 2419834 libstdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + a5aec55c0042708b25b935e3bc045da1a61f07b7 9940752 libstdc++-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + f23f5338fbed2cfda9bf170df921c934e074dc27 906138 libstdc++-13-pic_13.3.0-6ubuntu2~24.04.1_amd64.deb + 92b81e3c032cbe1764dc3c8bbcb1f88cfd155bb4 12196956 libstdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb + 09932e04eaed6cf29db72f3c472cd48ac2cff7a7 2190234 libx32gcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 84d7ee707de5ff54f0bc14eb7af2c6a419161e31 942252 libx32gfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + ec887f34443995750fa835b24990ed078a156562 18660506 libx32go-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 703a0ab673a848964e28674df8396021a195f0b3 14432746 libx32go22_13.3.0-6ubuntu2~24.04.1_amd64.deb + 609ceca34306e6f95d7aafc29997133a9bf89287 7857286 libx32gphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 4a3519bc7cb6f65655840d10f753db495144d392 5703998 libx32gphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + b4b9612438b02d72a38e1bbd9b717f2650cc3ebc 1893034 libx32gphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + d3dca2cdfdd41e08d90db648b0ba754041f152d2 159550 libx32objc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 63694217936e97678e8f72a0c92ff5e8665d076c 1086394 libx32stdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 31a07e9f9e36d64891b5fb2ecfedd2e938a16fbf 12114706 libx32stdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb +Checksums-Sha256: + 605d7c29b04717ef0172ab623c6c52749bd3946add72e304f341225ccf641bf1 180014 cpp-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 1ede48e18018c78bd55db9e55931f24772324a2c75c6156303d74afe1cbadaa5 47218 cpp-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + dcdf9ecfe9d4b020ab1eacca7cef43308a83395a58e8a328696934d7d29df59f 986 cpp-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 979f3f738350ddbd1c6ec5fc65277a8b4ef9512e2bf62a7784a64ff688835026 64988258 cpp-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 2ca48bf0c2d6465bc39322899715a85d934b4d7442dd5586a7bebbe3ce0f806b 10714542 cpp-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + c7535331fbb183c802c3bf4b6b210872dcc12d0421b3212b3c4b940f2c59ed3a 1042 cpp-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 3cf80a1f3f470ddd8da6481d6a0516e30fc300335329fed2cb627dd8c7a79e7c 868 g++-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 0c91d5e0b7255db5cdb3470c62e053504a2390cf9a5826ecfe017b2d059005bd 906 g++-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 6edfd9d4a98d8d9b7ee84e9cf52ba42ca64d70a9e9e3338c7392be2611708dfe 892 g++-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + ee182133470316ca05918f64bc0d10f22c0c7c880d21983090eeeff0f25f20f7 70110282 g++-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 0bd6af6164252d4ea9170d201ee4c10a3120fe0fc04985a00be3bc9076353844 12161938 g++-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 0f3ef964b8a91a9cd7bebfd126839a21941c55547cadcf4aa00204bc8cc43985 16048 g++-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + e859aca26585bb91113a451f1e66bc0e5283cb08797d679aacc1d936ae6dff8e 51616 gcc-13-base_13.3.0-6ubuntu2~24.04.1_amd64.deb + 974ca120affed4c45d2797e1313ada54d909734ea1150ee3d85e3d7d4b9e3e21 2852452 gcc-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + c3a142a1b1e6a060a5c1c2c1165e971a66120ca8d8f720126c82b8ff59799f0b 826 gcc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 49ce42da988648e532518cfd0c54c506b4e11ece8c8bed8d979ebe66e0a8e425 882 gcc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + ac7ad132d77d52ac68882352c1b2106c74d86de40789cbb193a02796e46957dd 5894834 gcc-13-hppa64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + d6f13bee2fa1fa80d56eaa37f11f8d086f398a2eea921b1fb29900495d37b526 17755080 gcc-13-hppa64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + facadee60a26cf8a431379ed5aa67338a52051604694310e3030de714862d5c6 2235886 gcc-13-locales_13.3.0-6ubuntu2~24.04.1_all.deb + 64831d1b25f7d9dbf820ab81d69adb3df8a2c362c71434aa29988eca707fac84 880 gcc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 70549a8e250237883c00ea953cac70eec00c81a67b396596a7d98e7bb096566a 72623780 gcc-13-offload-amdgcn-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + c970a9659da611c1fc26ba7d152efdaed52cb613fb4a8d69800b6694d8c3cde6 22044076 gcc-13-offload-amdgcn_13.3.0-6ubuntu2~24.04.1_amd64.deb + 92f9366f4328661449f989852924e9583965e3422f5b7b6cdc9a6a256c31ab22 69936698 gcc-13-offload-nvptx-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + fa3a4275d67136250bf395de540d374e0df9f189d377e24a3ce6a20ded539a32 11690380 gcc-13-offload-nvptx_13.3.0-6ubuntu2~24.04.1_amd64.deb + 6a7db232aab4f0353e9275782f7da5b0874e3f2813fb16956b942033320e9311 247506 gcc-13-plugin-dev-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f 1451870 gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 39cfbb5e005381054479d10352d93351b32698fa1ba00093d494504c1c557e5a 88627482 gcc-13-source_13.3.0-6ubuntu2~24.04.1_all.deb + b166cced7ddecca8fab3c51967ea55e69a59eb12c7c240dfef0bc9809b885584 16626108 gcc-13-test-results_13.3.0-6ubuntu2~24.04.1_amd64.deb + 6c5c9aea109c3d1e80005c2cf59d8acde9247cfdaa7ad2fb2fc5c475cc5564a4 164555002 gcc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + a134b0319a82d14581b3a14820d2832af4ec9778ed8b9b4ddaeecfb0555ec325 21084546 gcc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 7438ff160b020a74970672189ecae25d0ca650de6d7f543f12a3134192cffbd9 494262 gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 007e9bc23c920cc5b36b60da41e1a4061878adba2c3279e1d7e58705a65f15cd 52604 gccgo-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 7081087aa04983e3e98ef4ad7ab175bfc07e51052a7e05ff92229e688c3a1338 880 gccgo-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + c52aef185c2865730ade8cb927dd4c270704c94d5a90f0175908f762a7779bb1 928 gccgo-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 5d10118e1b896ecb63d37da936f5d0c7555b13a4c464a5e414d2bfdb018a1709 1012 gccgo-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 58525d34c279c6fc6709fcee4701194607f049257a072a0a87f2f25c00a6564b 75936516 gccgo-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 9f6d4052c55a080268903cf41bbbfda768b35774a92d45262b796edae8c16a51 14208980 gccgo-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + b9694e4e2fe7e0322ffcd72555fff90c608d72892c71ee28f0b2e4de24705b57 1028 gccgo-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 6aeff72a92ed7c9c3c6fa2ef2a6a7d48a067facc5c6a95c44308fa130c86cd29 902 gdc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + bbf1b51acf3a92d7fb910bcd7cbd7c52526b56d2c642e980761e996d026e03fd 948 gdc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 4f9f2c16f65825a5719b56efa492141c031b96c8793cbcd820bd987ded826a82 912 gdc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 33020d1ae7a50771a657aa69c859d7faac08b26e5d0e773df99568101901d94c 68165418 gdc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 0b6e6e80902285dbd5d6adcc740f1221f7c41fcb5f40d803d97d83c6bbfa1205 11804370 gdc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 0cc8c9146a16ecf2845084c5783a9fbe06f2681377f09f00248a72b3b7ebfce7 49680 gdc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + cb4943d5bedcc54132313fa90d7d38777ee0e386023811fa1d9331c32cd17315 386980 gfortran-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + f880d6da0639a1146596540721acf4506f08b39efd65e647f1bf142a32e7ae55 896 gfortran-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 7e02dfa8089586895a4a060af748af0b60390804dfc18e6ffe94a61bd654566d 942 gfortran-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 23bcb8ad67d084f53f2b6781e26e7bbc579880902eae07c05b67f6e0b8463c04 886 gfortran-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 002002199c93ba837a7ebd2cbecab7bb145c2cfb2d1dc9c5d66a3e6484853d1c 67218820 gfortran-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 82382cb8506616ef7df5b9927694bfaacf97bdfb317b1f995453cc17c96aa071 11408640 gfortran-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 23670555cfd600f46307adddedd65eba8fd21928c52a69d16a2e69755ae5c462 13914 gfortran-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + b371344cd1f713d75af11b5da2d53cb2c0b3ec67ac762c275665505bb0d3ce7a 290466 gm2-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 991ec181766a7b7d34149e32202efe1f01e6931f4abd17752802ac8d947831eb 882 gm2-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 545925dc8de55ddc42c80e45da738efc6b4a27a29f242b0174c2d794c15e4dba 928 gm2-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + f669915374040709b43150dbc94ba14d5ecc25c5b6b6a75b6d867e90b1df05bf 65776088 gm2-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + ccb7da8381452b7659319f16c3a5ffb30f36b68f0f8a56524728d4c7a36d6aa9 10768804 gm2-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2a2aa4cbc34b04b47cad830b7af0daba7bfdb58296b6ebb5802e373294d95e7c 75196 gm2-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 05639f1ebecdbd709fd07c3649a41b8c5259f4f6fab633a075fee29294ea31b0 1087286 gnat-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 060602a7841b9f07f8e08045779563dc8544c94fb23524d4a9e96382d3f7072f 958 gnat-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 50627c5c15c0c43f79a0569446a79f483ecdff96edb9af7add9ae2a55c96723c 1002 gnat-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 115e07ebec58f91218e9c4a2f9e3b753473cdbc2fac9e087fd371a0faca19b23 87322026 gnat-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 38faf678aac204fa4ce25795317b2b5698b542985882b8dde3de31efe9de0ff0 19377626 gnat-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 31a468f43985bf3a0deac9a39a1efd0d01695b1fd79b62ac1c8f5b22a58f5157 24446 gnat-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + d6528a6d640acd5c7d7f813c6e2a196316d3a28d97c9515d836a4d91557c2442 898 gobjc++-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 2dcbd65e3d113904abab6c3832f75a75c147c91adef3c1dc636fa2a76f211072 954 gobjc++-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2b6121e7ac35a97ae16701808ca0e7a3f0d8413a60c12c136d0f48c9e54467f1 878 gobjc++-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + f4b57ce497782a385cbdeb2155202eac6ee56856488cea3542d644b20ba92071 68027816 gobjc++-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 616aa4404925e2bf2f99958ca53307213676481074dbcb572db85cabc3646234 11465824 gobjc++-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 21476d5c61c8f09ae1202f8954a37fcf321f2fd67cca9fb5ef1752061fe52ee8 6508 gobjc++-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 7e3114c2deccad524060ab5ef7bd0f60aea434736d9c123f6d869c32c56a7d6c 892 gobjc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + e5560c65386d5413d4fa31ef8f80e29677bd4d1d396437b6a333bd8515829df6 936 gobjc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + f56194d96e7950eb83626d390df866f31cf689cd739a2cf823d8dec4970b3950 882 gobjc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1daf676c31f4f289bab1b904610e240f61fd3fb0e36cf8107cdf9225c0f06675 63718970 gobjc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 05539ef616fe645b3f764f8b918973f3ec73e21fb7f861820e347d130312493c 10494440 gobjc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + cb29435f0adc62b3e772b9619f2823784e393ece43724fcca025bd8116ed6d81 37348 gobjc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 0850e0555c86f2ce7a954158eb47df42d7645bfa4f12f29ea2df76459c930ac0 2380426 lib32gcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + c5f718efd4244adf746d2019223fb87780b3d3ebf9b1dcbc2b87fe12ffad4f1e 823552 lib32gfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + e40e19d806ca7c5e43484b9f12aa61d9f6aac1044605a7435b454dfbe9a2f91a 18484974 lib32go-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 5a07e47e7944908e6e3193f297513a78f88d1b9044737cd6066eb90dd2803860 13879966 lib32go22_13.3.0-6ubuntu2~24.04.1_amd64.deb + 8d9eecad5dd8093a7a0c9d2627f115e16652a3f998a654b1b002a93db666fc62 7141728 lib32gphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 609658f33ec74e5ecba8b2d87e8da0d924844fe46602eb4766d454acaa01a3f7 4854322 lib32gphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 1765282b9f94e76edeed798782ee4d38ad48399b4607554e4499d14ffa070ec5 2068276 lib32gphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + 32c33691f11ce049697040ac52f08f41b5a3376d8867b75360ec2f9ce0c42527 157648 lib32objc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + b4ebe1e2095e5d4377fa916abeded686ec76832bf593f06afda5ad1302037e2c 1150410 lib32stdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 067ce9092fe3ca6be5c354fb32b72fe223f0b39fd9fcf200e113b67db6c2f86c 12091554 lib32stdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb + cd689db2691edaa10f37329307292796bb599e722e0505c79e14caaa1fe9a93a 2680642 libgcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + aa14025a3ce1e229158db2bf10c968ef77cd0b02d065eb70bc07d5b157fd5ef9 21016 libgccjit-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + ce2f091c97022612dd63a26069be90954c7bcaba0ec4b926f507e1b6029fefa6 277148 libgccjit-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + ce0fdf0d9e7eadb33947ca7cdd0fc3477b570603cb721b108c96ebdfbb7cd80a 928110 libgfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + d0172fd1e7ee0cee19388a79f38a0691f4404e7c75026e9518510bf73eee5323 849474 libgm2-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 487ee6a0af4ddfa86dc32de0045ade3cc1745f189eda5b790b6450a8c800f9bc 467194 libgm2-18-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + a4ad358a04256d146cf6036b7555863370ccc5e3280b791f75155f78fbe54280 164784 libgm2-18_13.3.0-6ubuntu2~24.04.1_amd64.deb + 97ecbb26eb101d8a4ed6eead94c132d09cc3a5d7f8efd003952ad012978dbd7c 3149840 libgnat-13-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 883852c57f5e290bd4f34c3a7c3f2a42bf0f5f833f3d3199a521595710f446c0 1429754 libgnat-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 396dca47f8a3edc00e1038c5621ac8ffc7448f332f2d4eb52646c4db4b3678b7 18960898 libgo-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 8f8d01ebf00bea189056a1ac8d3455187f52733d162c576348128c6eaccff91c 14653378 libgo22_13.3.0-6ubuntu2~24.04.1_amd64.deb + 983c23e49c13b42445b46820bbc7a145dea10a9453af7650fc2ad25b391ee019 10747734 libgphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 5c12f92a5f08a03f2d807dd7c679934674f414130d5ac6ad865c40f358ea064b 5768176 libgphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + db4d5df59fc6abe82fcab17256cc02a159c1042be45f2173420f7e10e60eff3e 1882160 libgphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + 6757dc7e223f69c6c41f9aba133f0b54fe4babc8f38a9e1a51d9b03a9a28e8a6 193650 libobjc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + ee5633e863e19c3381ed97842ce35ed32ede96a3d1ae4e94c051d3036fe21347 2419834 libstdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + cd60fb8ad557270f298861546daddf37fc8a95404fa31a91e2bf4e28f296c842 9940752 libstdc++-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 848f9cc4c5c64c72906e4528522ae69123c6fe3ca95fd36938f8a8fc861c5fe5 906138 libstdc++-13-pic_13.3.0-6ubuntu2~24.04.1_amd64.deb + d8f1105911f2b272568d2e8dab489b8a3326187183486fad312304b26f742e99 12196956 libstdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb + 30ff020727f21b2b9bc8b8adb8d6250a387ea8c8a1519803171bce222b16ac0f 2190234 libx32gcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + d97ead10d0971f32630895d8af1460911ba34eb317d9e235d8f15684ffb46165 942252 libx32gfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + c66eda8bc680079b5a141bcf1bb4aad4284d3aa788c0adabd966c35dcd9ba1ab 18660506 libx32go-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 46e3014ac0803e8817cbf0ef6c5c39ea1b46783cfb6409d37916cefbe63295df 14432746 libx32go22_13.3.0-6ubuntu2~24.04.1_amd64.deb + bd08795db62c0b16213895d813ac249b7e9f8f1a2e764d35cca62be2e117ea64 7857286 libx32gphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + ee8b12d3d717cde0016d454139c5a529806ca46a80cd3f0b4c763022b1d65c45 5703998 libx32gphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + c5cbdae78cfa3492beacb4cd747ceb40071d41d9dc4124b3c21e82b128b77242 1893034 libx32gphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + 4bcdd8fff3e9f2e7755adf1a02ad6ac242af4561c80bebb1645710d903c02336 159550 libx32objc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 661187dff56b7ca552157c33d379f796ef76b63960535b5365bfb8332184941b 1086394 libx32stdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + a39c77ca22e66b7db74d5c16052898510215488a901dc0a179c6d1193b51d518 12114706 libx32stdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb +Build-Origin: Ubuntu +Build-Architecture: amd64 +Build-Date: Fri, 16 Jan 2026 19:40:29 +0000 +Build-Path: /build/gcc-13-EldibY/gcc-13-13.3.0 +Build-Tainted-By: + merged-usr-via-aliased-dirs + usr-local-has-programs +Installed-Build-Depends: + amdgcn-tools (= 17), + autoconf (= 2.71-3), + autoconf2.69 (= 2.69-3.1), + automake (= 1:1.16.5-1.3ubuntu1), + autopoint (= 0.21-14ubuntu2), + autotools-dev (= 20220109.1), + base-files (= 13ubuntu10), + base-passwd (= 3.6.3build1), + bash (= 5.2.21-2ubuntu4), + binutils (= 2.42-4ubuntu2.8), + binutils-common (= 2.42-4ubuntu2.8), + binutils-hppa64-linux-gnu (= 2.42-4ubuntu2.8), + binutils-x86-64-linux-gnu (= 2.42-4ubuntu2.8), + bison (= 2:3.8.2+dfsg-1build2), + bsdextrautils (= 2.39.3-9ubuntu6), + bsdutils (= 1:2.39.3-9ubuntu6), + build-essential (= 12.10ubuntu1), + bzip2 (= 1.0.8-5.1), + chrpath (= 0.16-2build1), + coreutils (= 9.4-3ubuntu6), + cpp (= 4:13.2.0-7ubuntu1), + cpp-13 (= 13.3.0-6ubuntu2~24.04), + cpp-13-x86-64-linux-gnu (= 13.3.0-6ubuntu2~24.04), + cpp-x86-64-linux-gnu (= 4:13.2.0-7ubuntu1), + dash (= 0.5.12-6ubuntu5), + debconf (= 1.5.86ubuntu1), + debhelper (= 13.14.1ubuntu5), + debianutils (= 5.17build1), + debugedit (= 1:5.0-5build2), + dejagnu (= 1.6.3-1), + dh-autoreconf (= 20), + dh-strip-nondeterminism (= 1.13.1-1), + diffstat (= 1.66-1build1), + diffutils (= 1:3.10-1build1), + docbook-xsl-ns (= 1.79.2+dfsg-7), + doxygen (= 1.9.8+ds-2build5), + dpkg (= 1.22.6ubuntu6.5), + dpkg-dev (= 1.22.6ubuntu6.5), + dwz (= 0.15-1build6), + ed (= 1.20.1-1), + expect (= 5.45.4-3), + file (= 1:5.45-3build1), + findutils (= 4.9.0-5build1), + flex (= 2.6.4-8.2build1), + fontconfig (= 2.15.0-1.1ubuntu2), + fontconfig-config (= 2.15.0-1.1ubuntu2), + fonts-dejavu-core (= 2.37-8), + fonts-dejavu-mono (= 2.37-8), + fonts-lmodern (= 2.005-1), + fonts-urw-base35 (= 20200910-8), + g++ (= 4:13.2.0-7ubuntu1), + g++-13 (= 13.3.0-6ubuntu2~24.04), + g++-13-multilib (= 13.3.0-6ubuntu2~24.04), + g++-13-x86-64-linux-gnu (= 13.3.0-6ubuntu2~24.04), + g++-multilib (= 4:13.2.0-7ubuntu1), + g++-x86-64-linux-gnu (= 4:13.2.0-7ubuntu1), + gawk (= 1:5.2.1-2build3), + gcc (= 4:13.2.0-7ubuntu1), + gcc-13 (= 13.3.0-6ubuntu2~24.04), + gcc-13-base (= 13.3.0-6ubuntu2~24.04), + gcc-13-multilib (= 13.3.0-6ubuntu2~24.04), + gcc-13-x86-64-linux-gnu (= 13.3.0-6ubuntu2~24.04), + gcc-14-base (= 14.2.0-4ubuntu2~24.04), + gcc-multilib (= 4:13.2.0-7ubuntu1), + gcc-x86-64-linux-gnu (= 4:13.2.0-7ubuntu1), + gdc-13 (= 13.3.0-6ubuntu2~24.04), + gdc-13-x86-64-linux-gnu (= 13.3.0-6ubuntu2~24.04), + gettext (= 0.21-14ubuntu2), + gettext-base (= 0.21-14ubuntu2), + ghostscript (= 10.02.1~dfsg1-0ubuntu7.8), + gnat-13 (= 13.3.0-6ubuntu2~24.04), + gnat-13-x86-64-linux-gnu (= 13.3.0-6ubuntu2~24.04), + gperf (= 3.1-1build1), + graphviz (= 2.42.2-9build1), + grep (= 3.11-4build1), + groff-base (= 1.23.0-3build2), + gzip (= 1.12-1ubuntu3), + hostname (= 3.23+nmu2ubuntu2), + init-system-helpers (= 1.66ubuntu1), + intltool-debian (= 0.35.0+20060710.6), + lib32asan8 (= 14.2.0-4ubuntu2~24.04), + lib32atomic1 (= 14.2.0-4ubuntu2~24.04), + lib32gcc-13-dev (= 13.3.0-6ubuntu2~24.04), + lib32gcc-s1 (= 14.2.0-4ubuntu2~24.04), + lib32gomp1 (= 14.2.0-4ubuntu2~24.04), + lib32itm1 (= 14.2.0-4ubuntu2~24.04), + lib32quadmath0 (= 14.2.0-4ubuntu2~24.04), + lib32stdc++-13-dev (= 13.3.0-6ubuntu2~24.04), + lib32stdc++6 (= 14.2.0-4ubuntu2~24.04), + lib32ubsan1 (= 14.2.0-4ubuntu2~24.04), + lib32z1 (= 1:1.3.dfsg-3.1ubuntu2), + lib32z1-dev (= 1:1.3.dfsg-3.1ubuntu2), + libacl1 (= 2.3.2-1build1), + libann0 (= 1.1.2+doc-9build1), + libaom3 (= 3.8.2-2ubuntu0.1), + libarchive-zip-perl (= 1.68-1), + libasan8 (= 14.2.0-4ubuntu2~24.04), + libatomic1 (= 14.2.0-4ubuntu2~24.04), + libattr1 (= 1:2.5.2-1build1), + libaudit-common (= 1:3.1.2-2.1build1), + libaudit1 (= 1:3.1.2-2.1build1), + libavahi-client3 (= 0.8-13ubuntu6), + libavahi-common-data (= 0.8-13ubuntu6), + libavahi-common3 (= 0.8-13ubuntu6), + libbinutils (= 2.42-4ubuntu2.8), + libblkid1 (= 2.39.3-9ubuntu6), + libbrotli1 (= 1.1.0-2build2), + libbsd0 (= 0.12.1-1build1), + libbz2-1.0 (= 1.0.8-5.1), + libc-bin (= 2.39-0ubuntu8.6), + libc-dev-bin (= 2.39-0ubuntu8.6), + libc6 (= 2.39-0ubuntu8.6), + libc6-dbg (= 2.39-0ubuntu8.6), + libc6-dev (= 2.39-0ubuntu8.6), + libc6-dev-i386 (= 2.39-0ubuntu8.6), + libc6-dev-x32 (= 2.39-0ubuntu8.6), + libc6-i386 (= 2.39-0ubuntu8.6), + libc6-x32 (= 2.39-0ubuntu8.6), + libcairo2 (= 1.18.0-3build1), + libcap-ng0 (= 0.8.4-2build2), + libcap2 (= 1:2.66-5ubuntu2.2), + libcc1-0 (= 14.2.0-4ubuntu2~24.04), + libcdt5 (= 2.42.2-9build1), + libcgraph6 (= 2.42.2-9build1), + libclang-cpp18 (= 1:18.1.3-1), + libclang1-18 (= 1:18.1.3-1), + libcom-err2 (= 1.47.0-2.4~exp1ubuntu4), + libcrypt-dev (= 1:4.4.36-4build1), + libcrypt1 (= 1:4.4.36-4build1), + libctf-nobfd0 (= 2.42-4ubuntu2.8), + libctf0 (= 2.42-4ubuntu2.8), + libcups2t64 (= 2.4.7-1.2ubuntu7.9), + libcurl4t64 (= 8.5.0-2ubuntu10.6), + libdatrie1 (= 0.2.13-3build1), + libdb5.3t64 (= 5.3.28+dfsg2-7), + libdbus-1-3 (= 1.14.10-4ubuntu4), + libde265-0 (= 1.0.15-1build3), + libdebconfclient0 (= 0.271ubuntu3), + libdebhelper-perl (= 13.14.1ubuntu5), + libdeflate0 (= 1.19-1build1), + libdpkg-perl (= 1.22.6ubuntu6.5), + libdw1t64 (= 0.190-1.1ubuntu0.1), + libedit2 (= 3.1-20230828-1build1), + libelf1t64 (= 0.190-1.1ubuntu0.1), + libexpat1 (= 2.6.1-2ubuntu0.3), + libffi8 (= 3.4.6-1build1), + libfile-stripnondeterminism-perl (= 1.13.1-1), + libfmt9 (= 9.1.0+ds1-2), + libfontconfig1 (= 2.15.0-1.1ubuntu2), + libfontenc1 (= 1:1.1.8-1build1), + libfreetype6 (= 2.13.2+dfsg-1build3), + libfribidi0 (= 1.0.13-3build1), + libgc-dev (= 1:8.2.6-1build1), + libgc1 (= 1:8.2.6-1build1), + libgcc-13-dev (= 13.3.0-6ubuntu2~24.04), + libgcc-s1 (= 14.2.0-4ubuntu2~24.04), + libgcrypt20 (= 1.10.3-2build1), + libgd3 (= 2.3.3-9ubuntu5), + libgdbm-compat4t64 (= 1.23-5.1build1), + libgdbm6t64 (= 1.23-5.1build1), + libglib2.0-0t64 (= 2.80.0-6ubuntu3.6), + libgmp-dev (= 2:6.3.0+dfsg-2ubuntu6), + libgmp10 (= 2:6.3.0+dfsg-2ubuntu6), + libgmpxx4ldbl (= 2:6.3.0+dfsg-2ubuntu6), + libgnat-13 (= 13.3.0-6ubuntu2~24.04), + libgnutls30t64 (= 3.8.3-1.1ubuntu3.4), + libgomp1 (= 14.2.0-4ubuntu2~24.04), + libgpg-error0 (= 1.47-3build2), + libgphobos-13-dev (= 13.3.0-6ubuntu2~24.04), + libgphobos4 (= 13.3.0-6ubuntu2~24.04), + libgprofng0 (= 2.42-4ubuntu2.8), + libgraphite2-3 (= 1.3.14-2build1), + libgs-common (= 10.02.1~dfsg1-0ubuntu7.8), + libgs10 (= 10.02.1~dfsg1-0ubuntu7.8), + libgs10-common (= 10.02.1~dfsg1-0ubuntu7.8), + libgssapi-krb5-2 (= 1.20.1-6ubuntu2.6), + libgts-0.7-5t64 (= 0.7.6+darcs121130-5.2build1), + libgvc6 (= 2.42.2-9build1), + libgvpr2 (= 2.42.2-9build1), + libharfbuzz0b (= 8.3.0-2build2), + libheif-plugin-aomdec (= 1.17.6-1ubuntu4.2), + libheif-plugin-libde265 (= 1.17.6-1ubuntu4.2), + libheif1 (= 1.17.6-1ubuntu4.2), + libhogweed6t64 (= 3.9.1-2.2build1), + libhwasan0 (= 14.2.0-4ubuntu2~24.04), + libice6 (= 2:1.0.10-1build3), + libicu74 (= 74.2-1ubuntu3), + libidn12 (= 1.42-1build1), + libidn2-0 (= 2.3.7-2build1), + libijs-0.35 (= 0.35-15.1build1), + libisl-dev (= 0.26-3build1), + libisl23 (= 0.26-3build1), + libitm1 (= 14.2.0-4ubuntu2~24.04), + libjansson4 (= 2.14-2build2), + libjbig0 (= 2.1-6.1ubuntu2), + libjbig2dec0 (= 0.20-1build3), + libjpeg-turbo8 (= 2.1.5-2ubuntu2), + libjpeg8 (= 8c-2ubuntu11), + libk5crypto3 (= 1.20.1-6ubuntu2.6), + libkeyutils1 (= 1.6.3-3build1), + libkpathsea6 (= 2023.20230311.66589-9build3), + libkrb5-3 (= 1.20.1-6ubuntu2.6), + libkrb5support0 (= 1.20.1-6ubuntu2.6), + liblab-gamut1 (= 2.42.2-9build1), + libldap2 (= 2.6.7+dfsg-1~exp1ubuntu8), + liblerc4 (= 4.0.0+ds-4ubuntu2), + libllvm17t64 (= 1:17.0.6-9ubuntu1), + libllvm18 (= 1:18.1.3-1), + liblsan0 (= 14.2.0-4ubuntu2~24.04), + libltdl7 (= 2.4.7-7build1), + liblz4-1 (= 1.9.4-1build1), + liblzma5 (= 5.6.1+really5.4.5-1ubuntu0.2), + libmagic-mgc (= 1:5.45-3build1), + libmagic1t64 (= 1:5.45-3build1), + libmd0 (= 1.1.0-2build1), + libmount1 (= 2.39.3-9ubuntu6), + libmpc-dev (= 1.3.1-1build1), + libmpc3 (= 1.3.1-1build1), + libmpfr-dev (= 4.2.1-1build1), + libmpfr6 (= 4.2.1-1build1), + libncursesw6 (= 6.4+20240113-1ubuntu2), + libnettle8t64 (= 3.9.1-2.2build1), + libnghttp2-14 (= 1.59.0-1ubuntu0.1), + libopenjp2-7 (= 2.5.0-2ubuntu0.4), + libp11-kit0 (= 0.25.3-4ubuntu2), + libpam-modules (= 1.5.3-5ubuntu5.5), + libpam-modules-bin (= 1.5.3-5ubuntu5.5), + libpam-runtime (= 1.5.3-5ubuntu5.5), + libpam0g (= 1.5.3-5ubuntu5.5), + libpango-1.0-0 (= 1.52.1+ds-1build1), + libpangocairo-1.0-0 (= 1.52.1+ds-1build1), + libpangoft2-1.0-0 (= 1.52.1+ds-1build1), + libpaper-utils (= 1.1.29build1), + libpaper1 (= 1.1.29build1), + libpathplan4 (= 2.42.2-9build1), + libpcre2-8-0 (= 10.42-4ubuntu2), + libperl5.38t64 (= 5.38.2-3.2ubuntu0.2), + libpfm4 (= 4.13.0+git32-g0d4ed0e-1), + libpipeline1 (= 1.5.7-2), + libpixman-1-0 (= 0.42.2-1build1), + libpkgconf3 (= 1.8.1-2build1), + libpng16-16t64 (= 1.6.43-5ubuntu0.3), + libpotrace0 (= 1.16-2build1), + libproc2-0 (= 2:4.0.4-4ubuntu3), + libpsl5t64 (= 0.21.2-1.1build1), + libptexenc1 (= 2023.20230311.66589-9build3), + libpython3-stdlib (= 3.12.3-0ubuntu2.1), + libpython3.12-minimal (= 3.12.3-1ubuntu0.10), + libpython3.12-stdlib (= 3.12.3-1ubuntu0.10), + libquadmath0 (= 14.2.0-4ubuntu2~24.04), + libreadline8t64 (= 8.2-4build1), + librtmp1 (= 2.4+20151223.gitfa8646d.1-2build7), + libsasl2-2 (= 2.1.28+dfsg1-5ubuntu3), + libsasl2-modules-db (= 2.1.28+dfsg1-5ubuntu3), + libseccomp2 (= 2.5.5-1ubuntu3), + libselinux1 (= 3.5-2ubuntu2), + libsframe1 (= 2.42-4ubuntu2.8), + libsharpyuv0 (= 1.3.2-0.4build3), + libsigsegv2 (= 2.14-1ubuntu2), + libsm6 (= 2:1.2.3-1build3), + libsmartcols1 (= 2.39.3-9ubuntu6), + libsqlite3-0 (= 3.45.1-1ubuntu2.5), + libssh-4 (= 0.10.6-2ubuntu0.2), + libssl3t64 (= 3.0.13-0ubuntu3.6), + libstdc++-13-dev (= 13.3.0-6ubuntu2~24.04), + libstdc++6 (= 14.2.0-4ubuntu2~24.04), + libsub-override-perl (= 0.10-1), + libsynctex2 (= 2023.20230311.66589-9build3), + libsystemd0 (= 255.4-1ubuntu8.8), + libtasn1-6 (= 4.19.0-3ubuntu0.24.04.2), + libtcl8.6 (= 8.6.14+dfsg-1build1), + libteckit0 (= 2.5.12+ds1-1), + libtexlua53-5 (= 2023.20230311.66589-9build3), + libtext-unidecode-perl (= 1.30-3), + libthai-data (= 0.1.29-2build1), + libthai0 (= 0.1.29-2build1), + libtiff6 (= 4.5.1+git230720-4ubuntu2.4), + libtinfo6 (= 6.4+20240113-1ubuntu2), + libtool (= 2.4.7-7build1), + libtsan2 (= 14.2.0-4ubuntu2~24.04), + libubsan1 (= 14.2.0-4ubuntu2~24.04), + libuchardet0 (= 0.0.8-1build1), + libudev1 (= 255.4-1ubuntu8.8), + libunistring5 (= 1.1-2build1), + libuuid1 (= 2.39.3-9ubuntu6), + libwebp7 (= 1.3.2-0.4build3), + libx11-6 (= 2:1.8.7-1build1), + libx11-data (= 2:1.8.7-1build1), + libx32asan8 (= 14.2.0-4ubuntu2~24.04), + libx32atomic1 (= 14.2.0-4ubuntu2~24.04), + libx32gcc-13-dev (= 13.3.0-6ubuntu2~24.04), + libx32gcc-s1 (= 14.2.0-4ubuntu2~24.04), + libx32gomp1 (= 14.2.0-4ubuntu2~24.04), + libx32itm1 (= 14.2.0-4ubuntu2~24.04), + libx32quadmath0 (= 14.2.0-4ubuntu2~24.04), + libx32stdc++-13-dev (= 13.3.0-6ubuntu2~24.04), + libx32stdc++6 (= 14.2.0-4ubuntu2~24.04), + libx32ubsan1 (= 14.2.0-4ubuntu2~24.04), + libx32z1 (= 1:1.3.dfsg-3.1ubuntu2), + libx32z1-dev (= 1:1.3.dfsg-3.1ubuntu2), + libxapian30 (= 1.4.22-1build1), + libxau6 (= 1:1.0.9-1build6), + libxaw7 (= 2:1.0.14-1build2), + libxcb-render0 (= 1.15-1ubuntu2), + libxcb-shm0 (= 1.15-1ubuntu2), + libxcb1 (= 1.15-1ubuntu2), + libxdmcp6 (= 1:1.1.3-0ubuntu6), + libxext6 (= 2:1.3.4-1build2), + libxi6 (= 2:1.8.1-1build1), + libxml-libxml-perl (= 2.0207+dfsg+really+2.0134-1build4), + libxml-namespacesupport-perl (= 1.12-2), + libxml-sax-base-perl (= 1.09-3), + libxml-sax-perl (= 1.02+dfsg-3), + libxml2 (= 2.9.14+dfsg-1.3ubuntu3.6), + libxml2-utils (= 2.9.14+dfsg-1.3ubuntu3.6), + libxmu6 (= 2:1.1.3-3build2), + libxpm4 (= 1:3.5.17-1build2), + libxrender1 (= 1:0.9.10-1.1build1), + libxslt1.1 (= 1.1.39-0exp1ubuntu0.24.04.3), + libxt6t64 (= 1:1.2.1-1.2build1), + libzstd-dev (= 1.5.5+dfsg2-2build1), + libzstd1 (= 1.5.5+dfsg2-2build1), + libzzip-0-13t64 (= 0.13.72+dfsg.1-1.2build1), + linux-libc-dev (= 6.8.0-90.91), + lld-17 (= 1:17.0.6-9ubuntu1), + llvm-17 (= 1:17.0.6-9ubuntu1), + llvm-17-linker-tools (= 1:17.0.6-9ubuntu1), + llvm-17-runtime (= 1:17.0.6-9ubuntu1), + locales-all (= 2.39-0ubuntu8.6), + login (= 1:4.13+dfsg1-4ubuntu3), + lsb-release (= 12.0-2), + lto-disabled-list (= 47), + m4 (= 1.4.19-4build1), + make (= 4.3-4.1build2), + man-db (= 2.12.0-4build2), + mawk (= 1.3.4.20240123-1build1), + media-types (= 10.1.0), + ncurses-base (= 6.4+20240113-1ubuntu2), + ncurses-bin (= 6.4+20240113-1ubuntu2), + netbase (= 6.4), + nvptx-tools (= 0.20240423-1), + patch (= 2.7.6-7build3), + patchutils (= 0.4.2-1build3), + perl (= 5.38.2-3.2ubuntu0.2), + perl-base (= 5.38.2-3.2ubuntu0.2), + perl-modules-5.38 (= 5.38.2-3.2ubuntu0.2), + pkgconf (= 1.8.1-2build1), + pkgconf-bin (= 1.8.1-2build1), + po-debconf (= 1.0.21+nmu1), + poppler-data (= 0.4.12-1), + procps (= 2:4.0.4-4ubuntu3), + python3 (= 3.12.3-0ubuntu2.1), + python3-minimal (= 3.12.3-0ubuntu2.1), + python3.12 (= 3.12.3-1ubuntu0.10), + python3.12-minimal (= 3.12.3-1ubuntu0.10), + quilt (= 0.67+really0.67-4), + readline-common (= 8.2-4build1), + rpcsvc-proto (= 1.4.2-0ubuntu7), + sed (= 4.9-2build1), + sensible-utils (= 0.0.22), + sgml-base (= 1.31), + sharutils (= 1:4.15.2-9), + systemtap-sdt-dev (= 5.0-2ubuntu1), + sysvinit-utils (= 3.08-6ubuntu3), + t1utils (= 1.41-4build3), + tar (= 1.35+dfsg-3build1), + tcl-expect (= 5.45.4-3), + tcl8.6 (= 8.6.14+dfsg-1build1), + tex-common (= 6.18), + texinfo (= 7.1-3build2), + texinfo-lib (= 7.1-3build2), + texlive-base (= 2023.20240207-1), + texlive-binaries (= 2023.20230311.66589-9build3), + texlive-latex-base (= 2023.20240207-1), + time (= 1.9-0.2build1), + tzdata (= 2025b-0ubuntu0.24.04.1), + ucf (= 3.0043+nmu1), + unzip (= 6.0-28ubuntu4.1), + util-linux (= 2.39.3-9ubuntu6), + x11-common (= 1:7.7+23ubuntu3), + xdg-utils (= 1.1.3-4.1ubuntu3), + xfonts-encodings (= 1:1.0.5-0ubuntu2), + xfonts-utils (= 1:7.7+6build3), + xml-core (= 0.19), + xsltproc (= 1.1.39-0exp1ubuntu0.24.04.3), + xz-utils (= 5.6.1+really5.4.5-1ubuntu0.2), + zlib1g (= 1:1.3.dfsg-3.1ubuntu2), + zlib1g-dev (= 1:1.3.dfsg-3.1ubuntu2) +Environment: + DEB_BUILD_OPTIONS="parallel=4" + DEB_BUILD_PROFILES="noudeb" + LANG="C.UTF-8" + LC_ALL="C.UTF-8" + LC_COLLATE="C.UTF-8" + SOURCE_DATE_EPOCH="1766091591" diff --git a/research/h25-gcc-generated-config-data/source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes b/research/h25-gcc-generated-config-data/source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes new file mode 100644 index 0000000000..6d17ab5511 --- /dev/null +++ b/research/h25-gcc-generated-config-data/source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes @@ -0,0 +1,464 @@ +Format: 1.8 +Date: Fri, 19 Dec 2025 09:59:51 +1300 +Source: gcc-13 +Binary: cpp-13 cpp-13-doc cpp-13-for-build cpp-13-for-host cpp-13-x86-64-linux-gnu g++-13 g++-13-for-build g++-13-for-host g++-13-multilib g++-13-x86-64-linux-gnu gcc-13 gcc-13-base gcc-13-doc gcc-13-for-build gcc-13-for-host gcc-13-hppa64-linux-gnu gcc-13-locales gcc-13-multilib gcc-13-offload-amdgcn gcc-13-offload-nvptx gcc-13-plugin-dev gcc-13-source gcc-13-test-results gcc-13-x86-64-linux-gnu gccgo-13 gccgo-13-doc gccgo-13-for-build gccgo-13-for-host gccgo-13-multilib gccgo-13-x86-64-linux-gnu gdc-13 gdc-13-for-build gdc-13-for-host gdc-13-multilib gdc-13-x86-64-linux-gnu gfortran-13 gfortran-13-doc gfortran-13-for-build gfortran-13-for-host gfortran-13-multilib gfortran-13-x86-64-linux-gnu gm2-13 gm2-13-doc gm2-13-for-build gm2-13-for-host gm2-13-x86-64-linux-gnu gnat-13 gnat-13-doc gnat-13-for-build gnat-13-for-host gnat-13-x86-64-linux-gnu gobjc++-13 gobjc++-13-for-build gobjc++-13-for-host gobjc++-13-multilib gobjc++-13-x86-64-linux-gnu gobjc-13 gobjc-13-for-build + gobjc-13-for-host gobjc-13-multilib gobjc-13-x86-64-linux-gnu lib32gcc-13-dev lib32gfortran-13-dev lib32go-13-dev lib32go22 lib32gphobos-13-dev lib32gphobos4 lib32objc-13-dev lib32stdc++-13-dev lib32stdc++6-13-dbg libgcc-13-dev libgccjit-13-dev libgccjit-13-doc libgfortran-13-dev libgm2-13-dev libgm2-18 libgnat-13 libgo-13-dev libgo22 libgphobos-13-dev libgphobos4 libobjc-13-dev libstdc++-13-dev libstdc++-13-doc libstdc++-13-pic libstdc++6-13-dbg libx32gcc-13-dev libx32gfortran-13-dev libx32go-13-dev libx32go22 libx32gphobos-13-dev libx32gphobos4 libx32objc-13-dev libx32stdc++-13-dev + libx32stdc++6-13-dbg +Built-For-Profiles: noudeb +Architecture: all amd64 +Version: 13.3.0-6ubuntu2~24.04.1 +Distribution: noble +Urgency: medium +Maintainer: Launchpad Build Daemon +Changed-By: Vladimir Petko +Description: + cpp-13 - GNU C preprocessor + cpp-13-doc - Documentation for the GNU C preprocessor (cpp) + cpp-13-for-build - GNU C preprocessor for the build architecture + cpp-13-for-host - GNU C preprocessor for the host architecture + cpp-13-x86-64-linux-gnu - GNU C preprocessor for x86_64-linux-gnu + g++-13 - GNU C++ compiler + g++-13-for-build - GNU C++ compiler for the build architecture + g++-13-for-host - GNU C++ compiler for the host architecture + g++-13-multilib - GNU C++ compiler (multilib support) + g++-13-x86-64-linux-gnu - GNU C++ compiler for x86_64-linux-gnu architecture + gcc-13 - GNU C compiler + gcc-13-base - GCC, the GNU Compiler Collection (base package) + gcc-13-doc - Documentation for the GNU compilers (gcc, gobjc, g++) + gcc-13-for-build - GNU C compiler for the build architecture + gcc-13-for-host - GNU C compiler for the host architecture + gcc-13-hppa64-linux-gnu - GNU C compiler (cross compiler for hppa64) + gcc-13-locales - GCC, the GNU compiler collection (native language support files) + gcc-13-multilib - GNU C compiler (multilib support) + gcc-13-offload-amdgcn - GCC offloading compiler to GCN + gcc-13-offload-nvptx - GCC offloading compiler to NVPTX + gcc-13-plugin-dev - Files for GNU GCC plugin development. + gcc-13-source - Source of the GNU Compiler Collection + gcc-13-test-results - Test results for the GCC test suite + gcc-13-x86-64-linux-gnu - GNU C compiler for the x86_64-linux-gnu architecture + gccgo-13 - GNU Go compiler + gccgo-13-doc - Documentation for the GNU Go compiler (gccgo) + gccgo-13-for-build - GNU Go compiler for the build architecture + gccgo-13-for-host - GNU Go compiler for the host architecture + gccgo-13-multilib - GNU Go compiler (multilib support) + gccgo-13-x86-64-linux-gnu - GNU Go compiler for the x86_64-linux-gnu architecture + gdc-13 - GNU D compiler (version 2) + gdc-13-for-build - GNU D compiler (version 2) for the build architecture + gdc-13-for-host - GNU D compiler (version 2) for the host architecture + gdc-13-multilib - GNU D compiler (version 2, multilib support) + gdc-13-x86-64-linux-gnu - GNU D compiler (version 2) for the x86_64-linux-gnu architecture + gfortran-13 - GNU Fortran compiler + gfortran-13-doc - Documentation for the GNU Fortran compiler (gfortran) + gfortran-13-for-build - GNU Fortran compiler for the build architecture + gfortran-13-for-host - GNU Fortran compiler for the host architecture + gfortran-13-multilib - GNU Fortran compiler (multilib support) + gfortran-13-x86-64-linux-gnu - GNU Fortran compiler for the x86_64-linux-gnu architecture + gm2-13 - GNU D compiler (version 2) + gm2-13-doc - Documentation for the GNU Modula-2 compiler (gm2) + gm2-13-for-build - GNU Modula-2 compiler for the build architecture + gm2-13-for-host - GNU Modula-2 compiler for the host architecture + gm2-13-x86-64-linux-gnu - GNU Modula-2 compiler for the x86_64-linux-gnu architecture + gnat-13 - GNU Ada compiler + gnat-13-doc - GNU Ada compiler (documentation) + gnat-13-for-build - GNU Ada compiler for the build architecture + gnat-13-for-host - GNU Ada compiler for the host architecture + gnat-13-x86-64-linux-gnu - GNU Ada compiler for the x86_64-linux-gnu architecture + gobjc++-13 - GNU Objective-C++ compiler + gobjc++-13-for-build - GNU Objective-C++ compiler for the build architecture + gobjc++-13-for-host - GNU Objective-C++ compiler for the host architecture + gobjc++-13-multilib - GNU Objective-C++ compiler (multilib support) + gobjc++-13-x86-64-linux-gnu - GNU Objective-C++ compiler for the x86_64-linux-gnu architecture + gobjc-13 - GNU Objective-C compiler + gobjc-13-for-build - GNU Objective-C compiler for the build architecture + gobjc-13-for-host - GNU Objective-C compiler for the host architecture + gobjc-13-multilib - GNU Objective-C compiler (multilib support) + gobjc-13-x86-64-linux-gnu - GNU Objective-C compiler for the x86_64-linux-gnu architecture + lib32gcc-13-dev - GCC support library (32 bit development files) + lib32gfortran-13-dev - Runtime library for GNU Fortran applications (32bit development f + lib32go-13-dev - Runtime library for GNU Go applications (32bit development files) + lib32go22 - Runtime library for GNU Go applications (32bit) + lib32gphobos-13-dev - Phobos D standard library (32bit development files) + lib32gphobos4 - Phobos D standard library (runtime library) + lib32objc-13-dev - Runtime library for GNU Objective-C applications (32bit developme + lib32stdc++-13-dev - GNU Standard C++ Library v3 (development files) + lib32stdc++6-13-dbg - GNU Standard C++ Library v3 (debug build) + libgcc-13-dev - GCC support library (development files) + libgccjit-13-dev - GCC just-in-time compilation (development files) + libgccjit-13-doc - GCC just-in-time compilation (documentation) + libgfortran-13-dev - Runtime library for GNU Fortran applications (development files) + libgm2-13-dev - GNU Modula-2 standard library + libgm2-18 - GNU Modula-2 standard library (runtime library) + libgnat-13 - runtime for applications compiled with GNAT (shared library) + libgo-13-dev - Runtime library for GNU Go applications (development files) + libgo22 - Runtime library for GNU Go applications + libgphobos-13-dev - Phobos D standard library + libgphobos4 - Phobos D standard library (runtime library) + libobjc-13-dev - Runtime library for GNU Objective-C applications (development fil + libstdc++-13-dev - GNU Standard C++ Library v3 (development files) + libstdc++-13-doc - GNU Standard C++ Library v3 (documentation files) + libstdc++-13-pic - GNU Standard C++ Library v3 (shared library subset kit) + libstdc++6-13-dbg - GNU Standard C++ Library v3 (debug build) + libx32gcc-13-dev - GCC support library (x32 development files) + libx32gfortran-13-dev - Runtime library for GNU Fortran applications (x32 development fil + libx32go-13-dev - Runtime library for GNU Go applications (x32 development files) + libx32go22 - Runtime library for GNU Go applications (x32) + libx32gphobos-13-dev - Phobos D standard library (x32 development files) + libx32gphobos4 - Phobos D standard library (runtime library) + libx32objc-13-dev - Runtime library for GNU Objective-C applications (x32 development + libx32stdc++-13-dev - GNU Standard C++ Library v3 (development files) + libx32stdc++6-13-dbg - GNU Standard C++ Library v3 (debug build) +Launchpad-Bugs-Fixed: 2101084 +Changes: + gcc-13 (13.3.0-6ubuntu2~24.04.1) noble; urgency=medium + . + * d/p/pr118976.diff: Fix memory corruption when executing 256-bit + Scalable Vector Extensions code on 128-bit CPUs (LP: #2101084). +Checksums-Sha1: + ebec5e0582b9e7676f37897c23bd7a4c78b54a8f 180014 cpp-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + f1b08291d0644853d2e3cee164fee38b64c95ece 47218 cpp-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + e098191db794e42b954a19b98ae7a760c0aad6d5 986 cpp-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + bf399b602efd9f3dc645ab361d26fdb18a8aa82d 64988258 cpp-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 43d96a39ce51bfcd72fecf4df06d38eca734534a 10714542 cpp-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 0702fb7f236497a52a054995a1b5260fc2cb3ec8 1042 cpp-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 874b4f5bd83eb916afbce80c7067b666518225d6 868 g++-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + f4df8a096e9dbe3f1127f851a54b2534fd4cd548 906 g++-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 5d2e9e0dec5c1e64394de6f0cd14c7e44bef6a43 892 g++-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9f67628fa8901da4c28e865ac19accaca7407170 70110282 g++-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 013bf1a443886f97d5d8aaa808aee3da39419e71 12161938 g++-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2fd7f5647d02baffdf85904ab75b99aa8e140197 16048 g++-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 09e2e0730d3ce2428b1bf6c1a613d2dd6ec1ec5b 51616 gcc-13-base_13.3.0-6ubuntu2~24.04.1_amd64.deb + 8a414f788365634f7a24583aae7fa6e59202692e 2852452 gcc-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 68fe5746e0bf58f91cd7b31a390eabfc7a2a9e07 826 gcc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 0380e03f9d92502a412338d5b96fa8a5cf297e5f 882 gcc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + a9b24ffdfafca2a21be54d90b26043ec65335b80 5894834 gcc-13-hppa64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 4c2b32dfec246bd3d618124d4f2b4b151046bc78 17755080 gcc-13-hppa64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 63a8410db5b2b42653310a5cc86431ba0247a27e 2235886 gcc-13-locales_13.3.0-6ubuntu2~24.04.1_all.deb + 7e30a3736d6e4d86f325bcf02edf320fbd9a03d2 880 gcc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 5bfd4412c49ca44851c689d66c612a9984e84fe6 72623780 gcc-13-offload-amdgcn-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 3a6a3d697a39b4d6f89e5945d615e1fc754fbd04 22044076 gcc-13-offload-amdgcn_13.3.0-6ubuntu2~24.04.1_amd64.deb + 3593515290b6ecc9e53b4200d6f2eaa653dc07c5 69936698 gcc-13-offload-nvptx-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + f95b886bd7633bd3b2612d2dedbe880e8b7c649a 11690380 gcc-13-offload-nvptx_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1404f3734f23e0213f00a18cce25c82bba4be4d4 247506 gcc-13-plugin-dev-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 1aec1bb6b7e7b67725c6bdea00f7f68b5994b217 1451870 gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + b125dc24ed68d75074b17089fbe5261897c2bcb0 88627482 gcc-13-source_13.3.0-6ubuntu2~24.04.1_all.deb + f262aefb0a832a66a6451939778bf33dcd2c9edb 16626108 gcc-13-test-results_13.3.0-6ubuntu2~24.04.1_amd64.deb + 498d25eded747dacf6f15d60df3440f2181206ae 164555002 gcc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 73b49bdc4be6d4dad1c144525e68952d64fa2c76 21084546 gcc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9c21c767e694c337ac9b8b58f6c31de8fa24ff24 52703 gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo + 85bf357840794ef2a4a7cbdf95965e087752ad0a 494262 gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 74960d7ffb176b62055de3c3aa8ea9ceea0243d6 52604 gccgo-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + ed50776887ee811d0d326e62063da011803505f6 880 gccgo-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + ad8b21476aa40e3f1885631d3b84ff51893a3c54 928 gccgo-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9c883a3a7a4caf58b6fbbaa239b91fc58efedd9a 1012 gccgo-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 677c770b010306ef6b1083a8b32b591da6b333e5 75936516 gccgo-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 47dd733ab78e96c52c6fae5d872cbbc1c59fa26f 14208980 gccgo-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + b42ce998dc5a1c2fd3a391e3142c8ee2bfb0eaf5 1028 gccgo-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 97092c688ef9f2b8ec9de3b83ecf485a28e3aaff 902 gdc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 65026c90944894c5befe10d144d7d3c41e93b6a7 948 gdc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 34c43f743afd0468bdc635079f51b0e1026d10f5 912 gdc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 222d592d6bb402446316ce1375445595f5a5e8d9 68165418 gdc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + a8b029c81fd7263b5457cac96dea64a235a4b1c8 11804370 gdc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 85607eb39dbe7702ac5acfdb00acf9d5a154521b 49680 gdc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 0f6ce97713a70bd67292d067008d6b73c15657e3 386980 gfortran-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 8454d0978b8079e1d3b79f86eff15a750c515d33 896 gfortran-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + ffee0d78c6c16b287c694791f4afc460f3670740 942 gfortran-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 05d13772a2ee3a9dcfdd45c6255c4c594b92808a 886 gfortran-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 040cf3864fc3063fdc39380b95bb1d6601714f44 67218820 gfortran-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 601db22a3fefd1ad5fcd2ade3d9e74cce962273b 11408640 gfortran-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 7033c1daa38ba2858108ab7595625cc846b0a959 13914 gfortran-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 7b4219423df76c58af71bf8375bddd1c1abdb98d 290466 gm2-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 7d5d40cfee1280f149cb28bc022ad4694887d130 882 gm2-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + f28585f3c3650004f90349c0836d8ee54a3fa818 928 gm2-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 90efb6ed4c95b8aa40872e805b101c6a7fcf6fe8 65776088 gm2-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 4bf7041e864127415b84b45476a55afc1f17c433 10768804 gm2-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + df334b1c83ab5539cfcb2f977ce9cac01acf2257 75196 gm2-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + ad5466f975b9f09f3bef908e855c443b798db95f 1087286 gnat-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 41cee769a7f7bd8868515b1a4694e0128bc4ffa8 958 gnat-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 2ef1ac60385564d3231236ac9098878e8faced0e 1002 gnat-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + a7e6004c440cdbf27743c5616e4530a8fa6304ff 87322026 gnat-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 4dc69a8cc9bd6a46f3c2b3608d25cd22ba78da5e 19377626 gnat-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 14d42dbd668e2f2b8ca46a3179a5a38be0ac18e3 24446 gnat-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1fa9d4dfb9da3a2dd3f5f7c4e58c01c052bd019b 898 gobjc++-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 5aa7b09038c33563c2933b6b19ae7d9f0126c8ad 954 gobjc++-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + de03c69a27a8d9ad67f73ba0f58c603dc48164b5 878 gobjc++-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 8910616639bb0b808224e09fa5b6ab05367e925d 68027816 gobjc++-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 53d6fb2c6ae3f9ae669e98766e4f62d263f76106 11465824 gobjc++-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9ef5109e48216f83b92b589ad911718826d22cdd 6508 gobjc++-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 17c779488b49ddff44bd6d4dbd434a501f24d745 892 gobjc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 229de8cb1c40865c81f1dc221fbd23ddeb6dfd5a 936 gobjc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 5619c80cef961435a26a8ba7c32d6f6256157839 882 gobjc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + da2d1a316949324112b1d446496cb4fcb6787f38 63718970 gobjc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 178af10b5cde90a43045b0799aa910efd5113cd4 10494440 gobjc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 7554880a34b9a848e96ed9facfd892b15af7e2b7 37348 gobjc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 7366a8107e1d8c1b8107731710270b605438d659 2380426 lib32gcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + db068a5e9970dc6c43bc4fc51876a7c9bf739921 823552 lib32gfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 3644f3793a79795c05138cae6aa416dfb970e978 18484974 lib32go-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 49041c856f0a56c634e3fdf92bb4afa0965e3fd9 13879966 lib32go22_13.3.0-6ubuntu2~24.04.1_amd64.deb + 4c02b44229d39f3ad0e5595927ba7d793011ae22 7141728 lib32gphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 0dd27c1bb271bd19e06421e8a5b48a9996b19016 4854322 lib32gphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 191f26257d78aac3f9213d86bf2c8784081d1204 2068276 lib32gphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + bbb0546276ac114441cb287938dc3560060292f4 157648 lib32objc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9509216f7521d100e90c42d3b6d0a26d9e8cd373 1150410 lib32stdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 4b1dd7e38c17f6e73fbeff0940500d4937d50569 12091554 lib32stdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb + da5172b908e6e4ea4021d734c5e5121e55b11eea 2680642 libgcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1742e2c4a8d2713ac4b2d476cbfe9f06fc63ac12 21016 libgccjit-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 016a442be39ca23d4c85120bff2d2ea56db67d09 277148 libgccjit-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 692025e20dbe34387d67d93b44e311ed27d54286 928110 libgfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 7d0be208a376189c04b6b34d5f794bfa0ac184b1 849474 libgm2-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + a4190778b7005d4f01ad2d8c0bd6aae4aa701f48 467194 libgm2-18-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 9f1d4e34067cf1a29bd8549c6fab832fd8cea943 164784 libgm2-18_13.3.0-6ubuntu2~24.04.1_amd64.deb + 32a929b32891e40662d4d347d71a28dfc5ba63c0 3149840 libgnat-13-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 1b05e972ffac135e00971695cc1684b4306ea586 1429754 libgnat-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + fe6db7a04fff3d964bf90659674cfb69c1db7a62 18960898 libgo-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 310b3b5e757a8c04c3cc02aba07ae928c57cf710 14653378 libgo22_13.3.0-6ubuntu2~24.04.1_amd64.deb + ca7ca57a938969d6f5735c9882ce8356d933cd9c 10747734 libgphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + e4bdce37cb66aa73e9188cd293537c8e816384dc 5768176 libgphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 29c86f3d62f22dcc8dccf4b396c3593d7cbe092a 1882160 libgphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + 48436ed479868eb3348274405dc50d73eb5af3c9 193650 libobjc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1b0450c52b08980eb6118ddb190d2c04fe2eec82 2419834 libstdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + a5aec55c0042708b25b935e3bc045da1a61f07b7 9940752 libstdc++-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + f23f5338fbed2cfda9bf170df921c934e074dc27 906138 libstdc++-13-pic_13.3.0-6ubuntu2~24.04.1_amd64.deb + 92b81e3c032cbe1764dc3c8bbcb1f88cfd155bb4 12196956 libstdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb + 09932e04eaed6cf29db72f3c472cd48ac2cff7a7 2190234 libx32gcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 84d7ee707de5ff54f0bc14eb7af2c6a419161e31 942252 libx32gfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + ec887f34443995750fa835b24990ed078a156562 18660506 libx32go-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 703a0ab673a848964e28674df8396021a195f0b3 14432746 libx32go22_13.3.0-6ubuntu2~24.04.1_amd64.deb + 609ceca34306e6f95d7aafc29997133a9bf89287 7857286 libx32gphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 4a3519bc7cb6f65655840d10f753db495144d392 5703998 libx32gphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + b4b9612438b02d72a38e1bbd9b717f2650cc3ebc 1893034 libx32gphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + d3dca2cdfdd41e08d90db648b0ba754041f152d2 159550 libx32objc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 63694217936e97678e8f72a0c92ff5e8665d076c 1086394 libx32stdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 31a07e9f9e36d64891b5fb2ecfedd2e938a16fbf 12114706 libx32stdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb +Checksums-Sha256: + 605d7c29b04717ef0172ab623c6c52749bd3946add72e304f341225ccf641bf1 180014 cpp-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 1ede48e18018c78bd55db9e55931f24772324a2c75c6156303d74afe1cbadaa5 47218 cpp-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + dcdf9ecfe9d4b020ab1eacca7cef43308a83395a58e8a328696934d7d29df59f 986 cpp-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 979f3f738350ddbd1c6ec5fc65277a8b4ef9512e2bf62a7784a64ff688835026 64988258 cpp-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 2ca48bf0c2d6465bc39322899715a85d934b4d7442dd5586a7bebbe3ce0f806b 10714542 cpp-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + c7535331fbb183c802c3bf4b6b210872dcc12d0421b3212b3c4b940f2c59ed3a 1042 cpp-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 3cf80a1f3f470ddd8da6481d6a0516e30fc300335329fed2cb627dd8c7a79e7c 868 g++-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 0c91d5e0b7255db5cdb3470c62e053504a2390cf9a5826ecfe017b2d059005bd 906 g++-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 6edfd9d4a98d8d9b7ee84e9cf52ba42ca64d70a9e9e3338c7392be2611708dfe 892 g++-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + ee182133470316ca05918f64bc0d10f22c0c7c880d21983090eeeff0f25f20f7 70110282 g++-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 0bd6af6164252d4ea9170d201ee4c10a3120fe0fc04985a00be3bc9076353844 12161938 g++-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 0f3ef964b8a91a9cd7bebfd126839a21941c55547cadcf4aa00204bc8cc43985 16048 g++-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + e859aca26585bb91113a451f1e66bc0e5283cb08797d679aacc1d936ae6dff8e 51616 gcc-13-base_13.3.0-6ubuntu2~24.04.1_amd64.deb + 974ca120affed4c45d2797e1313ada54d909734ea1150ee3d85e3d7d4b9e3e21 2852452 gcc-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + c3a142a1b1e6a060a5c1c2c1165e971a66120ca8d8f720126c82b8ff59799f0b 826 gcc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 49ce42da988648e532518cfd0c54c506b4e11ece8c8bed8d979ebe66e0a8e425 882 gcc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + ac7ad132d77d52ac68882352c1b2106c74d86de40789cbb193a02796e46957dd 5894834 gcc-13-hppa64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + d6f13bee2fa1fa80d56eaa37f11f8d086f398a2eea921b1fb29900495d37b526 17755080 gcc-13-hppa64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + facadee60a26cf8a431379ed5aa67338a52051604694310e3030de714862d5c6 2235886 gcc-13-locales_13.3.0-6ubuntu2~24.04.1_all.deb + 64831d1b25f7d9dbf820ab81d69adb3df8a2c362c71434aa29988eca707fac84 880 gcc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 70549a8e250237883c00ea953cac70eec00c81a67b396596a7d98e7bb096566a 72623780 gcc-13-offload-amdgcn-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + c970a9659da611c1fc26ba7d152efdaed52cb613fb4a8d69800b6694d8c3cde6 22044076 gcc-13-offload-amdgcn_13.3.0-6ubuntu2~24.04.1_amd64.deb + 92f9366f4328661449f989852924e9583965e3422f5b7b6cdc9a6a256c31ab22 69936698 gcc-13-offload-nvptx-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + fa3a4275d67136250bf395de540d374e0df9f189d377e24a3ce6a20ded539a32 11690380 gcc-13-offload-nvptx_13.3.0-6ubuntu2~24.04.1_amd64.deb + 6a7db232aab4f0353e9275782f7da5b0874e3f2813fb16956b942033320e9311 247506 gcc-13-plugin-dev-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f 1451870 gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 39cfbb5e005381054479d10352d93351b32698fa1ba00093d494504c1c557e5a 88627482 gcc-13-source_13.3.0-6ubuntu2~24.04.1_all.deb + b166cced7ddecca8fab3c51967ea55e69a59eb12c7c240dfef0bc9809b885584 16626108 gcc-13-test-results_13.3.0-6ubuntu2~24.04.1_amd64.deb + 6c5c9aea109c3d1e80005c2cf59d8acde9247cfdaa7ad2fb2fc5c475cc5564a4 164555002 gcc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + a134b0319a82d14581b3a14820d2832af4ec9778ed8b9b4ddaeecfb0555ec325 21084546 gcc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83 52703 gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo + 7438ff160b020a74970672189ecae25d0ca650de6d7f543f12a3134192cffbd9 494262 gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 007e9bc23c920cc5b36b60da41e1a4061878adba2c3279e1d7e58705a65f15cd 52604 gccgo-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 7081087aa04983e3e98ef4ad7ab175bfc07e51052a7e05ff92229e688c3a1338 880 gccgo-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + c52aef185c2865730ade8cb927dd4c270704c94d5a90f0175908f762a7779bb1 928 gccgo-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 5d10118e1b896ecb63d37da936f5d0c7555b13a4c464a5e414d2bfdb018a1709 1012 gccgo-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 58525d34c279c6fc6709fcee4701194607f049257a072a0a87f2f25c00a6564b 75936516 gccgo-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 9f6d4052c55a080268903cf41bbbfda768b35774a92d45262b796edae8c16a51 14208980 gccgo-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + b9694e4e2fe7e0322ffcd72555fff90c608d72892c71ee28f0b2e4de24705b57 1028 gccgo-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 6aeff72a92ed7c9c3c6fa2ef2a6a7d48a067facc5c6a95c44308fa130c86cd29 902 gdc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + bbf1b51acf3a92d7fb910bcd7cbd7c52526b56d2c642e980761e996d026e03fd 948 gdc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 4f9f2c16f65825a5719b56efa492141c031b96c8793cbcd820bd987ded826a82 912 gdc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 33020d1ae7a50771a657aa69c859d7faac08b26e5d0e773df99568101901d94c 68165418 gdc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 0b6e6e80902285dbd5d6adcc740f1221f7c41fcb5f40d803d97d83c6bbfa1205 11804370 gdc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 0cc8c9146a16ecf2845084c5783a9fbe06f2681377f09f00248a72b3b7ebfce7 49680 gdc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + cb4943d5bedcc54132313fa90d7d38777ee0e386023811fa1d9331c32cd17315 386980 gfortran-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + f880d6da0639a1146596540721acf4506f08b39efd65e647f1bf142a32e7ae55 896 gfortran-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 7e02dfa8089586895a4a060af748af0b60390804dfc18e6ffe94a61bd654566d 942 gfortran-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 23bcb8ad67d084f53f2b6781e26e7bbc579880902eae07c05b67f6e0b8463c04 886 gfortran-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 002002199c93ba837a7ebd2cbecab7bb145c2cfb2d1dc9c5d66a3e6484853d1c 67218820 gfortran-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 82382cb8506616ef7df5b9927694bfaacf97bdfb317b1f995453cc17c96aa071 11408640 gfortran-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 23670555cfd600f46307adddedd65eba8fd21928c52a69d16a2e69755ae5c462 13914 gfortran-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + b371344cd1f713d75af11b5da2d53cb2c0b3ec67ac762c275665505bb0d3ce7a 290466 gm2-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 991ec181766a7b7d34149e32202efe1f01e6931f4abd17752802ac8d947831eb 882 gm2-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 545925dc8de55ddc42c80e45da738efc6b4a27a29f242b0174c2d794c15e4dba 928 gm2-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + f669915374040709b43150dbc94ba14d5ecc25c5b6b6a75b6d867e90b1df05bf 65776088 gm2-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + ccb7da8381452b7659319f16c3a5ffb30f36b68f0f8a56524728d4c7a36d6aa9 10768804 gm2-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2a2aa4cbc34b04b47cad830b7af0daba7bfdb58296b6ebb5802e373294d95e7c 75196 gm2-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 05639f1ebecdbd709fd07c3649a41b8c5259f4f6fab633a075fee29294ea31b0 1087286 gnat-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 060602a7841b9f07f8e08045779563dc8544c94fb23524d4a9e96382d3f7072f 958 gnat-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 50627c5c15c0c43f79a0569446a79f483ecdff96edb9af7add9ae2a55c96723c 1002 gnat-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 115e07ebec58f91218e9c4a2f9e3b753473cdbc2fac9e087fd371a0faca19b23 87322026 gnat-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 38faf678aac204fa4ce25795317b2b5698b542985882b8dde3de31efe9de0ff0 19377626 gnat-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 31a468f43985bf3a0deac9a39a1efd0d01695b1fd79b62ac1c8f5b22a58f5157 24446 gnat-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + d6528a6d640acd5c7d7f813c6e2a196316d3a28d97c9515d836a4d91557c2442 898 gobjc++-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 2dcbd65e3d113904abab6c3832f75a75c147c91adef3c1dc636fa2a76f211072 954 gobjc++-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2b6121e7ac35a97ae16701808ca0e7a3f0d8413a60c12c136d0f48c9e54467f1 878 gobjc++-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + f4b57ce497782a385cbdeb2155202eac6ee56856488cea3542d644b20ba92071 68027816 gobjc++-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 616aa4404925e2bf2f99958ca53307213676481074dbcb572db85cabc3646234 11465824 gobjc++-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 21476d5c61c8f09ae1202f8954a37fcf321f2fd67cca9fb5ef1752061fe52ee8 6508 gobjc++-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 7e3114c2deccad524060ab5ef7bd0f60aea434736d9c123f6d869c32c56a7d6c 892 gobjc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + e5560c65386d5413d4fa31ef8f80e29677bd4d1d396437b6a333bd8515829df6 936 gobjc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + f56194d96e7950eb83626d390df866f31cf689cd739a2cf823d8dec4970b3950 882 gobjc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1daf676c31f4f289bab1b904610e240f61fd3fb0e36cf8107cdf9225c0f06675 63718970 gobjc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 05539ef616fe645b3f764f8b918973f3ec73e21fb7f861820e347d130312493c 10494440 gobjc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + cb29435f0adc62b3e772b9619f2823784e393ece43724fcca025bd8116ed6d81 37348 gobjc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 0850e0555c86f2ce7a954158eb47df42d7645bfa4f12f29ea2df76459c930ac0 2380426 lib32gcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + c5f718efd4244adf746d2019223fb87780b3d3ebf9b1dcbc2b87fe12ffad4f1e 823552 lib32gfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + e40e19d806ca7c5e43484b9f12aa61d9f6aac1044605a7435b454dfbe9a2f91a 18484974 lib32go-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 5a07e47e7944908e6e3193f297513a78f88d1b9044737cd6066eb90dd2803860 13879966 lib32go22_13.3.0-6ubuntu2~24.04.1_amd64.deb + 8d9eecad5dd8093a7a0c9d2627f115e16652a3f998a654b1b002a93db666fc62 7141728 lib32gphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 609658f33ec74e5ecba8b2d87e8da0d924844fe46602eb4766d454acaa01a3f7 4854322 lib32gphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 1765282b9f94e76edeed798782ee4d38ad48399b4607554e4499d14ffa070ec5 2068276 lib32gphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + 32c33691f11ce049697040ac52f08f41b5a3376d8867b75360ec2f9ce0c42527 157648 lib32objc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + b4ebe1e2095e5d4377fa916abeded686ec76832bf593f06afda5ad1302037e2c 1150410 lib32stdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 067ce9092fe3ca6be5c354fb32b72fe223f0b39fd9fcf200e113b67db6c2f86c 12091554 lib32stdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb + cd689db2691edaa10f37329307292796bb599e722e0505c79e14caaa1fe9a93a 2680642 libgcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + aa14025a3ce1e229158db2bf10c968ef77cd0b02d065eb70bc07d5b157fd5ef9 21016 libgccjit-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + ce2f091c97022612dd63a26069be90954c7bcaba0ec4b926f507e1b6029fefa6 277148 libgccjit-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + ce0fdf0d9e7eadb33947ca7cdd0fc3477b570603cb721b108c96ebdfbb7cd80a 928110 libgfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + d0172fd1e7ee0cee19388a79f38a0691f4404e7c75026e9518510bf73eee5323 849474 libgm2-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 487ee6a0af4ddfa86dc32de0045ade3cc1745f189eda5b790b6450a8c800f9bc 467194 libgm2-18-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + a4ad358a04256d146cf6036b7555863370ccc5e3280b791f75155f78fbe54280 164784 libgm2-18_13.3.0-6ubuntu2~24.04.1_amd64.deb + 97ecbb26eb101d8a4ed6eead94c132d09cc3a5d7f8efd003952ad012978dbd7c 3149840 libgnat-13-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 883852c57f5e290bd4f34c3a7c3f2a42bf0f5f833f3d3199a521595710f446c0 1429754 libgnat-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 396dca47f8a3edc00e1038c5621ac8ffc7448f332f2d4eb52646c4db4b3678b7 18960898 libgo-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 8f8d01ebf00bea189056a1ac8d3455187f52733d162c576348128c6eaccff91c 14653378 libgo22_13.3.0-6ubuntu2~24.04.1_amd64.deb + 983c23e49c13b42445b46820bbc7a145dea10a9453af7650fc2ad25b391ee019 10747734 libgphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 5c12f92a5f08a03f2d807dd7c679934674f414130d5ac6ad865c40f358ea064b 5768176 libgphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + db4d5df59fc6abe82fcab17256cc02a159c1042be45f2173420f7e10e60eff3e 1882160 libgphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + 6757dc7e223f69c6c41f9aba133f0b54fe4babc8f38a9e1a51d9b03a9a28e8a6 193650 libobjc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + ee5633e863e19c3381ed97842ce35ed32ede96a3d1ae4e94c051d3036fe21347 2419834 libstdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + cd60fb8ad557270f298861546daddf37fc8a95404fa31a91e2bf4e28f296c842 9940752 libstdc++-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 848f9cc4c5c64c72906e4528522ae69123c6fe3ca95fd36938f8a8fc861c5fe5 906138 libstdc++-13-pic_13.3.0-6ubuntu2~24.04.1_amd64.deb + d8f1105911f2b272568d2e8dab489b8a3326187183486fad312304b26f742e99 12196956 libstdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb + 30ff020727f21b2b9bc8b8adb8d6250a387ea8c8a1519803171bce222b16ac0f 2190234 libx32gcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + d97ead10d0971f32630895d8af1460911ba34eb317d9e235d8f15684ffb46165 942252 libx32gfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + c66eda8bc680079b5a141bcf1bb4aad4284d3aa788c0adabd966c35dcd9ba1ab 18660506 libx32go-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 46e3014ac0803e8817cbf0ef6c5c39ea1b46783cfb6409d37916cefbe63295df 14432746 libx32go22_13.3.0-6ubuntu2~24.04.1_amd64.deb + bd08795db62c0b16213895d813ac249b7e9f8f1a2e764d35cca62be2e117ea64 7857286 libx32gphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + ee8b12d3d717cde0016d454139c5a529806ca46a80cd3f0b4c763022b1d65c45 5703998 libx32gphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + c5cbdae78cfa3492beacb4cd747ceb40071d41d9dc4124b3c21e82b128b77242 1893034 libx32gphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + 4bcdd8fff3e9f2e7755adf1a02ad6ac242af4561c80bebb1645710d903c02336 159550 libx32objc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 661187dff56b7ca552157c33d379f796ef76b63960535b5365bfb8332184941b 1086394 libx32stdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + a39c77ca22e66b7db74d5c16052898510215488a901dc0a179c6d1193b51d518 12114706 libx32stdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb +Files: + 1c51d842e23a8b60dc5582a0e3a3de86 180014 doc optional cpp-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 738b10705aad8073562990acca8c6e5c 47218 interpreters optional cpp-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + d0a57bc81792cbdc0e1850dbb6c5935d 986 interpreters optional cpp-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 47500aed55ff84bab062d12fb1af4e1b 64988258 debug optional cpp-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + e8f6938b588e32e4b04ef3d40e33846c 10714542 interpreters optional cpp-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 3197b91f8a37ff9bbae2ff279bab6e19 1042 interpreters optional cpp-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + c4f21592b5c39ff4973a5db4f576bd1f 868 devel optional g++-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 003427d2b13321eb93645d115cff99ce 906 devel optional g++-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 90be856ecca03c3b9f108c4a75160bda 892 devel optional g++-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 24a6d5fe8452e3f7c639f9c264f26f0e 70110282 debug optional g++-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 90ea28b82bebea013965566f3474a3ce 12161938 devel optional g++-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 003839ff9b40a2c140c43bd5c0e1186e 16048 devel optional g++-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + f2e3cd036355db5350d4336e3f928090 51616 libs optional gcc-13-base_13.3.0-6ubuntu2~24.04.1_amd64.deb + e036cd267569eeb0480201f4152a7872 2852452 doc optional gcc-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 42794378c74b267ce386c08cf93f41bf 826 devel optional gcc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + a8f9d3887e9e35836ec61047d0e83d57 882 devel optional gcc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + d18cee2ab6d5202f06e02ff34624a99d 5894834 debug optional gcc-13-hppa64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 2193f3fab6c67da58881085278defcdf 17755080 devel optional gcc-13-hppa64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 533c078f8fa78c627ff8856281b05451 2235886 devel optional gcc-13-locales_13.3.0-6ubuntu2~24.04.1_all.deb + 710f2cac690743daba2285e8906edc13 880 devel optional gcc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + b9120fb70231eba82683e406c3529488 72623780 debug optional gcc-13-offload-amdgcn-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 63dc4871b239d6c101cdcad1ef8def7d 22044076 devel optional gcc-13-offload-amdgcn_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2e7291059605aa49b7ea858b300e2960 69936698 debug optional gcc-13-offload-nvptx-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 35af6a387addd6c57750c00120e8d6e1 11690380 devel optional gcc-13-offload-nvptx_13.3.0-6ubuntu2~24.04.1_amd64.deb + 520fd28ea6ab90632b789ddf1f43ed2b 247506 debug optional gcc-13-plugin-dev-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + b71fd928fbfe45eae7022bb027b29be2 1451870 devel optional gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9a2834373f44cf116b990e8ebe7c910d 88627482 devel optional gcc-13-source_13.3.0-6ubuntu2~24.04.1_all.deb + d2b9c51cd269aaad702f40cbf4d0956c 16626108 devel optional gcc-13-test-results_13.3.0-6ubuntu2~24.04.1_amd64.deb + dfeeb2d54a74d50f46796cae318328a4 164555002 debug optional gcc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + cb0b10a8a80f00facc1f782f3666ded7 21084546 devel optional gcc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + f3eab052a3229dc91974e7b8f1215467 52703 devel optional gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo + b754981217b2ad7c21b56f7b87492d67 494262 devel optional gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + dac62ff4d935b9e1a29b0dceb988e3fa 52604 doc optional gccgo-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + d002fcfd8094e19ec176a0e23cda722b 880 devel optional gccgo-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 944b9e2aae2f47bcfd2f64b1b2322e9d 928 devel optional gccgo-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 542c0d22e05cb6a92aa20819bf20fa2b 1012 devel optional gccgo-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9853762846b3a5856a47e802cfb3f872 75936516 debug optional gccgo-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + aad460140f1c1a42b88d6d83c640950d 14208980 devel optional gccgo-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 01585cdca7721870ed11a9f6f7b9368b 1028 devel optional gccgo-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 0e88172ae36b3fcad0faa31b87469f36 902 devel optional gdc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + b63c58b3c17ce6dd5d9268e93079a66d 948 devel optional gdc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + d18ba45f07e71b94fe74fdfcc1a82665 912 devel optional gdc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 612ee77b9c9a62c84faf3868fa041277 68165418 debug optional gdc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 196d79c66d129c1f116a0733fba6949c 11804370 devel optional gdc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 742085c5ef2e86180023abcd9206c0d3 49680 devel optional gdc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + b87012f610636094ddd343660433eaab 386980 doc optional gfortran-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + cb7a32624e662269f056a04a44e9edf4 896 devel optional gfortran-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 240e8621a5ccf175e1b17bbe572ad7ca 942 devel optional gfortran-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + f503c9560cf3bb15b5c39cd5e61019bf 886 devel optional gfortran-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 93903a25dc5e14198f317cdb2225696b 67218820 debug optional gfortran-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 1ace0efe31cd92f60a5430bc6bcf16be 11408640 devel optional gfortran-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 3e7634cb183f6772969a1b629a32af87 13914 devel optional gfortran-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 5d6e02767c3a9fa5cf56e8f956e650ac 290466 doc optional gm2-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 8092c66ed9d00cda91d5a1707ab366c9 882 devel optional gm2-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 98fe805fbdd46b3204aba788ede7da10 928 devel optional gm2-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + a6c32872a8ac66b1a71dd0179f2c1284 65776088 debug optional gm2-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + c792ef58089e7735185728672c427ccc 10768804 devel optional gm2-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9494353e236ac2c0ba9b2d5053209ba3 75196 devel optional gm2-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + da0113532a94ded50a4ebe45fb352e89 1087286 doc optional gnat-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 1a055728b5d7bffa34eed23a2a6abf49 958 devel optional gnat-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + a05b4d3458fec48c4097b20f67cc8b91 1002 devel optional gnat-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + dd403ef9dbf05c9249f59cf0a0495ae3 87322026 debug optional gnat-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 70ba1c86dae8255fee0500372b9034ea 19377626 devel optional gnat-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 3aed593deb6af1030a3cf41ae3e3fae4 24446 devel optional gnat-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1a11de9d48e694244302a3c6574183d1 898 devel optional gobjc++-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 050a941332cbd45b890ecd6591227c42 954 devel optional gobjc++-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 7f601a660036a64a659a4653e2f0a3ec 878 devel optional gobjc++-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1e903437e95ecec1e5c5526de2e24e51 68027816 debug optional gobjc++-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 898f56d74c79ef4ea247b1fa8df5aa8f 11465824 devel optional gobjc++-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 92f44d27767e7f0e7b6cd436660bffe9 6508 devel optional gobjc++-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 903100b0312aafbab08f1b1ca5573e45 892 devel optional gobjc-13-for-build_13.3.0-6ubuntu2~24.04.1_all.deb + 1ac70aa7092be28fe99a20a5582a87ca 936 devel optional gobjc-13-for-host_13.3.0-6ubuntu2~24.04.1_amd64.deb + 335cfd7cb9c3600a8dc217e5b9331bd9 882 devel optional gobjc-13-multilib_13.3.0-6ubuntu2~24.04.1_amd64.deb + 56a9d8ff3e8c7d26e87f98e8983ba44e 63718970 debug optional gobjc-13-x86-64-linux-gnu-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 6673e954e1aa5c94ffddda1ed2702878 10494440 devel optional gobjc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb + 83c877ea12acd76a1cb5e74825f4d228 37348 devel optional gobjc-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 6ce654db06d0971c3164910ef1667e27 2380426 libdevel optional lib32gcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 6f3b5335a1fdd58ed3710ef3f8eb3769 823552 libdevel optional lib32gfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1139379bc1207cb13ffc4c8dc87d36fb 18484974 libdevel optional lib32go-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 4b57fd60420ca765bc9c48867e73b391 13879966 libs optional lib32go22_13.3.0-6ubuntu2~24.04.1_amd64.deb + 37f9adeb0502957a4e4a2c2281429948 7141728 libdevel optional lib32gphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + cd267db7ca781ec55d90b69bc37e6f81 4854322 debug optional lib32gphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 4cbcfc53bce9ba37014071a7c97d6027 2068276 libs optional lib32gphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + 60641f19bce85553e6fe264963cf7732 157648 libdevel optional lib32objc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + b5a4f5e0384e659f2143c97de3f4a333 1150410 libdevel optional lib32stdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2a67e7ebbf557f68a9a1db5657461017 12091554 debug optional lib32stdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb + d0d5dafa251a34629008620e5b26a5d5 2680642 libdevel optional libgcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2943abe5e154cd602d445240b7a8107a 21016 libdevel optional libgccjit-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 25fa0dc3ca57312f4a521d6861610d49 277148 doc optional libgccjit-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 1551c02b54d5d90c2f5b2a45dc0988fe 928110 libdevel optional libgfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + aa56bf06a3532cd43d89c961fd48bb88 849474 libdevel optional libgm2-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 1976931b404078dc9072854f1b23c30b 467194 debug optional libgm2-18-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + d5fdc79558c34e42f79702076277fede 164784 libs optional libgm2-18_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9a7c6f9b04060eb52fbc26d8d38b4049 3149840 debug optional libgnat-13-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 3fc0947e6ab333eba189c9cba0156139 1429754 libs optional libgnat-13_13.3.0-6ubuntu2~24.04.1_amd64.deb + 967abb384d9e16f30c1044156308d424 18960898 libdevel optional libgo-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + c35d1628f0c0733c775a4bb038288f98 14653378 libs optional libgo22_13.3.0-6ubuntu2~24.04.1_amd64.deb + d17ff9bb64593b4fc00d53b54010624d 10747734 libdevel optional libgphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 9ce6c1c2ce0e3f039f18789670c67f56 5768176 debug optional libgphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + b27ef6323d83b8f4b1b49ea05cf3354f 1882160 libs optional libgphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + 18573368c36baa296b206476df5f8cea 193650 libdevel optional libobjc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + d4c7bf2ddf49cb3f973620bf04f750ca 2419834 libdevel optional libstdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 41a3e4a8c130c84807fe7821df3bd4b5 9940752 doc optional libstdc++-13-doc_13.3.0-6ubuntu2~24.04.1_all.deb + 99817a17f035ea9e0381ab05bb9af06e 906138 libdevel optional libstdc++-13-pic_13.3.0-6ubuntu2~24.04.1_amd64.deb + 192173cbadfc6ea7a3342808535055ab 12196956 debug optional libstdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb + 572461e08685b5fbb81e251939d5d7bc 2190234 libdevel optional libx32gcc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + fdeee45fa84f79be92ff318509749385 942252 libdevel optional libx32gfortran-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 12cbd1695d3c4370127a211e8e86a7b7 18660506 libdevel optional libx32go-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 47b035fb674a5403099638d1aec26f51 14432746 libs optional libx32go22_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2e03294461aa57b2977ccf2b8ade2729 7857286 libdevel optional libx32gphobos-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 45800d3e3f7212d2b616e467dc96e398 5703998 debug optional libx32gphobos4-dbgsym_13.3.0-6ubuntu2~24.04.1_amd64.ddeb + 5ef476390a50c30b066aa9493491b538 1893034 libs optional libx32gphobos4_13.3.0-6ubuntu2~24.04.1_amd64.deb + 8002fd3086223770c9e99bf07fa49cc2 159550 libdevel optional libx32objc-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 2b0906837a3b4d253484a237dc55cf15 1086394 libdevel optional libx32stdc++-13-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb + 406c5fe947dae2176b4dfead758a105f 12114706 debug optional libx32stdc++6-13-dbg_13.3.0-6ubuntu2~24.04.1_amd64.deb +Original-Maintainer: Debian GCC Maintainers diff --git a/research/h25-gcc-generated-config-data/unit03/REPAIR-WINDOW-v1.json b/research/h25-gcc-generated-config-data/unit03/REPAIR-WINDOW-v1.json new file mode 100644 index 0000000000..fee204dd3f --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/REPAIR-WINDOW-v1.json @@ -0,0 +1,14 @@ +{ + "started_utc": "2026-11-02T09:29:41.072522+00:00", + "deadline_utc": "2026-11-02T09:44:41.072522+00:00", + "one_repair_window": true, + "no_extension": true, + "scope": [ + "gcc strict_ar offsetvariable overwrite, preserve actualheader offset/addindependent assertions", + "generated_config embeddedreport callertextfalsepinneddriverclaim; authenticateexactreport+compiler binding or narrowlabel", + "binding exacttype/nocallbackhole before equality; independentlyplainvalidate launchrecords" + ], + "preserve_before_edits": "Workers preserve v1source/views/freeze and rawcounterexamples; oldacquisitionoffsetreportsremainhistoricalrejectedmetadata, actualpayloadhashesremainverified", + "full_C05": false, + "full_V03": false +} diff --git a/research/h25-gcc-generated-config-data/unit03/SOURCE-CLOSE-v1.json b/research/h25-gcc-generated-config-data/unit03/SOURCE-CLOSE-v1.json new file mode 100644 index 0000000000..eadc418dcd --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/SOURCE-CLOSE-v1.json @@ -0,0 +1,40 @@ +{ + "closed_utc": "2026-11-02T09:42:53.047075+00:00", + "phase": "source_closed_partial_components_accepted_publication_next", + "frozen_records": [ + { + "path": "prefix/FREEZE-v1.json", + "bytes": 2995, + "sha256": "7b9147c92b971e5000728bf0ab5b3e315113d3c40c670bceb57f099169464608" + }, + { + "path": "binding/RECEIPT-v2.json", + "bytes": 5671, + "sha256": "9761dcd478b52ed06db3e6cc1ffea01a10636656f8d5b4f6be581bf083e4c299" + }, + { + "path": "gcc/FREEZE-v2.json", + "bytes": 6514, + "sha256": "215943ce4b7542b268cfb86241f2c195ec3b64c2fc13d69217c5083bfb18ab5e" + } + ], + "local_semantic_milestones_complete": 3, + "local_semantic_denominator": 4, + "accepted_scopes": [ + "same-build generated-header data plus repaired conditional-directive/literal recorder", + "conditional GCCprefix visit ordering", + "conditional original source/output/current-context compile operand projection" + ], + "incomplete_local_milestone": "Final installed-stage driver/preprocessor/prefix object definitions/specs/multilib/optioninitializers;buildlogHTTP503 retained. No effectiveconfiguration or wholequeryclosure.", + "single_repair_start": "2026-11-02T09:29:41.072522+00:00", + "single_repair_cutoff": "2026-11-02T09:44:41.072522+00:00", + "source_repairs_completed_before_cutoff": true, + "full_C05": false, + "full_V03": false, + "runtime_qualification": false, + "original_execution": false, + "original_activity_credit_added": 0, + "publication_separate_from_source_clock": true, + "old_unit02_closed": true, + "outside_costs": "OPEN_NOT_ZERO" +} diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/DERIVATION-v2.md b/research/h25-gcc-generated-config-data/unit03/gcc/DERIVATION-v2.md new file mode 100644 index 0000000000..d485ffbee3 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/DERIVATION-v2.md @@ -0,0 +1,21 @@ +Unit03 now has authenticated published generated GCC configuration data and a bounded parser for its ordered conditional structure. The exact plugin package is 1,451,870 bytes with SHA256 `3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f`. Its size and SHA256 agree in both exact retained GCC amd64 changes and buildinfo records. Package source/version equality alone was not used as same-build evidence. Signature verification and reproducible-build equivalence are not claimed. + +The official archive download succeeded before the fixed input deadline. Both initial sandbox requests failed DNS and remain recorded. The network-capable plugin request succeeded; the exact Launchpad build-log request returned HTTP503 after 35.75 seconds. That log failure was retained without retry. No final installed-stage gcc.o, cppdefault.o, cppbuiltin.o, prefix.o or collect2.o definitions were recovered. The published plugin package does not supply specs.h, multilib.h or the relevant option initialisers. Those cells remain individually named in `GENERATED-CONFIGURATION-VIEW-v2.json`; earlier templates do not fill them. + +Strict ar parsing retains three raw members and checks duplicate names, numeric metadata, lengths, alignment and topology. Strict tar parsing retains names, kinds, modes, owner metadata, linknames, offsets and content hashes, rejects duplicate normalized paths, and never flattens an alias. The data archive has 475 regular members; the control archive has two. Extraction retained 474 selected regular members: 472 plugin include/source data members and two control-data members. The remaining data regular members, including executable gengtype, were not installed or executed. The documentation directory is a symlink whose metadata remains visible. + +All nine requested members are authenticated: config.h, auto-host.h, configargs.h, distro-defaults.h, options.h, tm.h, tm_p.h, b-header-vars and defaults.h. Their contents are published build/source outputs. They were not regenerated by running package scripts. The decoder used the already installed libzstd.so.1.5.5, whose identity and method are retained. The 1,439,435-byte compressed data member decoded to 10,291,200 bytes. Its frame omitted an output size; a fixed 64KiB streaming buffer, explicit decoder-window ceiling and 256MiB aggregate cap avoided an unbounded allocation. An earlier refusal of the unknown-size frame, the equality-checked retained control files, and the unsuccessful bounded upstream-license traversal remain recorded. Exact full GCC GPL3 and Runtime Library Exception texts were subsequently copied from the supplied frozen license artifacts without a new source traversal. + +`generated_config_v1.py` records ordered conditional directives; it does **not** evaluate the C preprocessor. It preserves the 21 literal tm.h includes and their scope guards, 11 actual distro define operations, the five actual configure-default entries and selected b-header-vars lists including duplicates. The literal package-member graph reaches 38 members and records 38 edges. Its one unresolved or external edge is options.h line12419, `#include `, under `#ifndef OPTIONS_H` and `#ifdef GCC_C_COMMON_C`. The graph does not supply compiler include-search semantics or a context-sensitive preprocessing worklist. + +The configure string equals the exact retained embedded report at SHA256 `b02f8530e592eddeac5f86a2fb3a8ea80f25ac0e8ab2945fccb64a665b18d4cc`. Its original compiler path and SHA256 are checked. The separately pinned compiler-package correspondence report, SHA256 `7ade5b65ff17b1a941bc768eb81aaffb986ba6b40fea689d3408f1889032b98f`, supplies and checks the original GCC member's 1,023,032-byte size and matching expected/content hashes. The result deliberately says `configure_text_matches_pinned_embedded_report`; it carries both evidence objects and does not claim a fresh compiler rehash, compiler execution, or complete installed query behavior. + +Four source-origin package headers byte-match the earlier conditional applied-source projection: config/gnu-user.h, config/i386/gnu-user64.h, config/i386/linux64.h and config/linux.h. Their precise hashes and scope are in `SOURCE-PROJECTION-COMPARISON-v1.json`. This is a bounded byte comparison, separate from complete source/build semantics. + +Independent review rejected two initial implementation claims. The numeric ar-field loop reused the header-offset variable and could report every header at40/data100. Also, an unauthenticated caller report with matching text could receive the earlier pinned-driver label. Exact pre-repair sources, view and reports are preserved in `pre-review-v1`, `REVIEW-HOLD-v1.json` and `source-artifacts/rejected-v1-offset-metadata`. The single shared repair window fixed the offset variable, added independently tabulated padded-offset vectors and actual-package slice checks, authenticated both retained provenance reports, narrowed the equality label, and added forged/missing/changed-report and wrong-size controls. + +`PLUGIN-AR-MEMBERS-v2.json` was rebuilt directly from the retained authenticated package. Its header/data offsets are `(8,68)`, `(72,132)` and `(12374,12434)`. Each corrected compressed slice matches the preserved member's size and SHA256. `PLUGIN-PAYLOAD-v2.json` explicitly carries forward unchanged tar observations from the immutable v1 payload report, SHA256 `67e2d71f4affb83e458f226786e93361ec2cae3a3d19f9dd894d51d341ce61f7`; no fresh decompression or new decoding milestone is claimed. All 474 retained regular bodies were hash-checked again. + +The repaired pure fixture suite passed all29 tests in normal Python and in `-O`, each with `-B -S`. Complete outputs are retained as `TEST-NORMAL-repair-v2.txt` and `TEST-OPTIMIZED-repair-v2.txt`. The independent reviewer checked the concrete old counterexamples, corrected actual-package slices, authenticated view and retained logs, and reported a scoped PASS for the repaired delta. This disposition is independent source/data review, not original qualification. + +The 472-member authoring corpus, structural graph and metadata reports are not the original runtime source_files inventory. No fit of the reached C05 inventory under512 rows is claimed. The original 64MiB/file,256MiB/capture, plain-tree, node, depth, text and wire caps remain unchanged. All original selections and runtime gates remain unaccepted; `full_C05=false`, `full_V03=false`, `effective_configuration=false` and new scientific activity credit0 remain explicit. The app goal and unrelated streams were not changed. Acquisition, decompression, hashing, derivation, review and publication costs remain `OPEN_NOT_ZERO`. diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/FREEZE-v2.json b/research/h25-gcc-generated-config-data/unit03/gcc/FREEZE-v2.json new file mode 100644 index 0000000000..faf42fa2e2 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/FREEZE-v2.json @@ -0,0 +1,138 @@ +{ + "artifacts": [ + { + "bytes": 10098, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/configured_data_v1.py", + "sha256": "8fd118f1a0e3ddb569438722349b59d2d5e887a61b46850806a9694838aea6d9" + }, + { + "bytes": 19555, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/generated_config_v1.py", + "sha256": "7d3fca92570304a3d53e8df7de9c2298a96f41cd44f050172a64ecbe897e608f" + }, + { + "bytes": 15566, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/test_configured_data_v1.py", + "sha256": "25739228ec6f02e5b256e2ab04eec430b9ca689e1db7141836c0b42bca2d12f0" + }, + { + "bytes": 89677, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/header-member-pins-v1.json", + "sha256": "c0c6890ff27c90b5a919d8943a707d49497aa05f1329d7ab5b06fbe95ab2e47d" + }, + { + "bytes": 65076, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/GENERATED-CONFIGURATION-VIEW-v2.json", + "sha256": "65d82ba7484dd3df0914cf98e4b3da4b8ce6befa8e532d2e3034ec1ed32b2cbb" + }, + { + "bytes": 1743, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/SOURCE-PROJECTION-COMPARISON-v1.json", + "sha256": "5190c1077e8fadfecac194065f2daf0445700dedf10c738151f99db7055c5426" + }, + { + "bytes": 4685, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/repair_metadata_v2.py", + "sha256": "d40070f350883cf867d58c0797abe4f3dbc43adc9102388ad3c31e75e5378d59" + }, + { + "bytes": 6665, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/DERIVATION-v2.md", + "sha256": "e37dbb2193f96cc635c585c13e48c167504a2993b05d3fafc778ef8b461104ab" + }, + { + "bytes": 4170, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/TEST-NORMAL-repair-v2.txt", + "sha256": "01a2e2f2ede1ca6bbfa1541ff294c909cc662649d5811426945d834335078e69" + }, + { + "bytes": 4170, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/TEST-OPTIMIZED-repair-v2.txt", + "sha256": "c0eca76fb52f60893d3adccd428390213762ed651a512ae1f895216989842ee2" + }, + { + "bytes": 3417, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/REVIEW-HOLD-v1.json", + "sha256": "9f7bac634af636b8a2820593044f01f6b1c176c117190d1cfb2bda962cd69549" + }, + { + "bytes": 1202, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/PLUGIN-AR-MEMBERS-v2.json", + "sha256": "ca0d19133055f5df81874895709dcab6c073e6d862891f5acc70d4eaa6dc3d35" + }, + { + "bytes": 613094, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/PLUGIN-PAYLOAD-v2.json", + "sha256": "83997b65422b22e34ca0c6b836b99d42e8d8291860f1c51977286ba40247d70b" + }, + { + "bytes": 9412, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/INPUT-GATE-v1.json", + "sha256": "7176444d5d8bdd1d9610ad0322c0dab0c759811a7201c3e6bc71e7f7a35f6a53" + }, + { + "bytes": 450, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/PLUGIN-CHECKSUM-ASSOCIATION-v1.json", + "sha256": "54c6748b333d3a41b68e092559ef53bc465932485d3be7620b160700057428c5" + }, + { + "bytes": 1090, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/LICENSE-PROVENANCE-v2.json", + "sha256": "c4ac6815bc5e43d75e4be3ffd69b7a123d7ae566956a63bf80d2f05a62f0fc44" + } + ], + "counts": { + "control_tar_regular_members": 2, + "data_tar_regular_members": 475, + "literal_package_graph_edges": 38, + "literal_package_graph_members": 38, + "observed_distro_defines": 11, + "plugin_include_data_members": 472, + "selected_retained_regular_members": 474, + "tm_literal_includes": 21, + "unresolved_or_external_graph_edges": 1 + }, + "effective_configuration": false, + "frozen_utc": "2026-11-02T09:39:41.559211+00:00", + "full_C05": false, + "full_V03": false, + "input_gate": "generated/member input available before09:18:24; exact buildlog503residualretained", + "new_scientific_activity_credit": 0, + "original_execution": false, + "physical_costs": "OPEN_NOT_ZERO", + "preserved_rejections": [ + "pre-review-v1", + "REVIEW-HOLD-v1.json", + "source-artifacts/rejected-v1-offset-metadata", + "source-artifacts/EXTRACTION-ATTEMPT-v1.json", + "source-artifacts/ACQUISITION-v1.json", + "source-artifacts/ACQUISITION-network-v2.json" + ], + "review_disposition": "Independent v03_source_route_review scoped PASS for corrected delta; original qualification not implied", + "schema": "unit03-gcc-freeze-v2", + "single_shared_repair_window": { + "end_utc": "2026-11-02T09:44:41.072522+00:00", + "no_extension": true, + "start_utc": "2026-11-02T09:29:41.072522+00:00" + }, + "tests": { + "normal": { + "passed": 29, + "reported_seconds": 4.541 + }, + "optimized": { + "passed": 29, + "reported_seconds": 4.553 + }, + "scope": "new pure fixtures and passive data only" + }, + "unresolved_graph_edge": { + "directive": "#include ", + "guards": [ + "ifndef OPTIONS_H", + "ifdef GCC_C_COMMON_C" + ], + "line": 12419, + "path": "options.h" + } +} diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/GENERATED-CONFIGURATION-VIEW-v1.json b/research/h25-gcc-generated-config-data/unit03/gcc/GENERATED-CONFIGURATION-VIEW-v1.json new file mode 100644 index 0000000000..97557a5537 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/GENERATED-CONFIGURATION-VIEW-v1.json @@ -0,0 +1,2314 @@ +{ + "configuration_arguments": { + "configuration_arguments": "../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04.1' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2", + "configure_default_options": [ + { + "name": "abi", + "value": "m64" + }, + { + "name": "cpu", + "value": "generic" + }, + { + "name": "arch_32", + "value": "i686" + }, + { + "name": "arch_64", + "value": "x86-64" + }, + { + "name": "tune", + "value": "generic" + } + ], + "interpretation": "published literal data; shell quoting parsed without shell execution", + "ordered_configure_argv": [ + "../src/configure", + "-v", + "--with-pkgversion=Ubuntu 13.3.0-6ubuntu2~24.04.1", + "--with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs", + "--enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2", + "--prefix=/usr", + "--with-gcc-major-version-only", + "--program-suffix=-13", + "--program-prefix=x86_64-linux-gnu-", + "--enable-shared", + "--enable-linker-build-id", + "--libexecdir=/usr/libexec", + "--without-included-gettext", + "--enable-threads=posix", + "--libdir=/usr/lib", + "--enable-nls", + "--enable-bootstrap", + "--enable-clocale=gnu", + "--enable-libstdcxx-debug", + "--enable-libstdcxx-time=yes", + "--with-default-libstdcxx-abi=new", + "--enable-libstdcxx-backtrace", + "--enable-gnu-unique-object", + "--disable-vtable-verify", + "--enable-plugin", + "--enable-default-pie", + "--with-system-zlib", + "--enable-libphobos-checking=release", + "--with-target-system-zlib=auto", + "--enable-objc-gc=auto", + "--enable-multiarch", + "--disable-werror", + "--enable-cet", + "--with-arch-32=i686", + "--with-abi=m64", + "--with-multilib-list=m32,m64,mx32", + "--enable-multilib", + "--with-tune=generic", + "--enable-offload-targets=nvptx-none=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-gcn/usr", + "--enable-offload-defaulted", + "--without-cuda-driver", + "--enable-checking=release", + "--build=x86_64-linux-gnu", + "--host=x86_64-linux-gnu", + "--target=x86_64-linux-gnu", + "--with-build-config=bootstrap-lto-lean", + "--enable-link-serialization=2" + ], + "thread_model": "posix" + }, + "configure_text_matches_pinned_driver": true, + "effective_configuration": false, + "full_C05": false, + "full_V03": false, + "generated_options_declarations_sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3", + "header_member_count": 472, + "header_pinset_sha256": "c0c6890ff27c90b5a919d8943a707d49497aa05f1329d7ab5b06fbe95ab2e47d", + "new_scientific_activity_credit": 0, + "observed_distro_macro_operations": [ + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 4, + "name": "DIST_DEFAULT_ASYNC_UNWIND", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_ASYNC_UNWIND 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 5, + "name": "DIST_DEFAULT_SSP", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_SSP 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 6, + "name": "DIST_DEFAULT_SSP_STRONG", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_SSP_STRONG 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 7, + "name": "DIST_DEFAULT_FORMAT_SECURITY", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_FORMAT_SECURITY 1" + }, + { + "body": "3", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 8, + "name": "DIST_DEFAULT_FORTIFY_SOURCE", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_FORTIFY_SOURCE 3" + }, + { + "body": "\"3\"", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 9, + "name": "DIST_DEFAULT_FORTIFY_SOURCE_S", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_FORTIFY_SOURCE_S \"3\"" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 10, + "name": "DIST_DEFAULT_RELRO", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_RELRO 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 11, + "name": "DIST_DEFAULT_BIND_NOW", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_BIND_NOW 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 12, + "name": "DIST_DEFAULT_STACK_CLASH", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_STACK_CLASH 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 13, + "name": "DIST_DEFAULT_CF_PROTECTION", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_CF_PROTECTION 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 14, + "name": "DIST_DEFAULT_PKG_METADATA_SPEC", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_PKG_METADATA_SPEC 1" + } + ], + "observed_host_macro_cells": { + "CROSS_DIRECTORY_STRUCTURE": [], + "DEFAULT_LINKER": [], + "ENABLE_DEFAULT_PIE": [ + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "USED_FOR_TARGET", + "line": 136, + "opening": "USED_FOR_TARGET", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 137, + "name": "ENABLE_DEFAULT_PIE", + "path": "auto-host.h", + "raw": "ENABLE_DEFAULT_PIE 1" + } + ], + "GCC_INCLUDE_DIR": [], + "HAVE_GNU_AS": [ + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "USED_FOR_TARGET", + "line": 1521, + "opening": "USED_FOR_TARGET", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 1522, + "name": "HAVE_GNU_AS", + "path": "auto-host.h", + "raw": "HAVE_GNU_AS 1" + } + ], + "HAVE_GNU_LD": [ + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "USED_FOR_TARGET", + "line": 1533, + "opening": "USED_FOR_TARGET", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 1534, + "name": "HAVE_GNU_LD", + "path": "auto-host.h", + "raw": "HAVE_GNU_LD 1" + } + ], + "HAVE_LD_SYSROOT": [ + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "USED_FOR_TARGET", + "line": 1762, + "opening": "USED_FOR_TARGET", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 1763, + "name": "HAVE_LD_SYSROOT", + "path": "auto-host.h", + "raw": "HAVE_LD_SYSROOT 1" + } + ], + "HAVE_LTO_PLUGIN": [ + { + "body": "2", + "conditions": [ + { + "branch": "initial", + "branch_expression": "USED_FOR_TARGET", + "line": 1792, + "opening": "USED_FOR_TARGET", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 1793, + "name": "HAVE_LTO_PLUGIN", + "path": "auto-host.h", + "raw": "HAVE_LTO_PLUGIN 2" + } + ], + "NATIVE_SYSTEM_HEADER_DIR": [], + "STANDARD_EXEC_PREFIX": [], + "STANDARD_LIBEXEC_PREFIX": [], + "TARGET_SYSTEM_ROOT": [] + }, + "ordered_tm_default_define_operations": [ + { + "body": "", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 2, + "name": "GCC_TM_H", + "path": "tm.h", + "raw": "GCC_TM_H" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "LIBC_GLIBC", + "line": 3, + "opening": "LIBC_GLIBC", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 4, + "name": "LIBC_GLIBC", + "path": "tm.h", + "raw": "LIBC_GLIBC 1" + }, + { + "body": "2", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "LIBC_UCLIBC", + "line": 6, + "opening": "LIBC_UCLIBC", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 7, + "name": "LIBC_UCLIBC", + "path": "tm.h", + "raw": "LIBC_UCLIBC 2" + }, + { + "body": "3", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "LIBC_BIONIC", + "line": 9, + "opening": "LIBC_BIONIC", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 10, + "name": "LIBC_BIONIC", + "path": "tm.h", + "raw": "LIBC_BIONIC 3" + }, + { + "body": "4", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "LIBC_MUSL", + "line": 12, + "opening": "LIBC_MUSL", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 13, + "name": "LIBC_MUSL", + "path": "tm.h", + "raw": "LIBC_MUSL 4" + }, + { + "body": "LIBC_GLIBC", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "DEFAULT_LIBC", + "line": 15, + "opening": "DEFAULT_LIBC", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 16, + "name": "DEFAULT_LIBC", + "path": "tm.h", + "raw": "DEFAULT_LIBC LIBC_GLIBC" + }, + { + "body": "0", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "ANDROID_DEFAULT", + "line": 18, + "opening": "ANDROID_DEFAULT", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 19, + "name": "ANDROID_DEFAULT", + "path": "tm.h", + "raw": "ANDROID_DEFAULT 0" + } + ], + "ordered_tm_header_operations": [ + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "options.h", + "kind": "include", + "line": 22, + "literal": true, + "path": "tm.h", + "raw": "\"options.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "insn-constants.h", + "kind": "include", + "line": 23, + "literal": true, + "path": "tm.h", + "raw": "\"insn-constants.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/vxworks-dummy.h", + "kind": "include", + "line": 24, + "literal": true, + "path": "tm.h", + "raw": "\"config/vxworks-dummy.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/biarch64.h", + "kind": "include", + "line": 25, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/biarch64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/i386.h", + "kind": "include", + "line": 26, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/i386.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/unix.h", + "kind": "include", + "line": 27, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/unix.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/att.h", + "kind": "include", + "line": 28, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/att.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/elfos.h", + "kind": "include", + "line": 29, + "literal": true, + "path": "tm.h", + "raw": "\"config/elfos.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/gnu-user.h", + "kind": "include", + "line": 30, + "literal": true, + "path": "tm.h", + "raw": "\"config/gnu-user.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/glibc-stdint.h", + "kind": "include", + "line": 31, + "literal": true, + "path": "tm.h", + "raw": "\"config/glibc-stdint.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/x86-64.h", + "kind": "include", + "line": 32, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/x86-64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/gnu-user-common.h", + "kind": "include", + "line": 33, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/gnu-user-common.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/gnu-user64.h", + "kind": "include", + "line": 34, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/gnu-user64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/linux.h", + "kind": "include", + "line": 35, + "literal": true, + "path": "tm.h", + "raw": "\"config/linux.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/linux-android.h", + "kind": "include", + "line": 36, + "literal": true, + "path": "tm.h", + "raw": "\"config/linux-android.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/linux-common.h", + "kind": "include", + "line": 37, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/linux-common.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/linux64.h", + "kind": "include", + "line": 38, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/linux64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/initfini-array.h", + "kind": "include", + "line": 39, + "literal": true, + "path": "tm.h", + "raw": "\"config/initfini-array.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET", + "line": 41, + "opening": "defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "insn-flags.h", + "kind": "include", + "line": 42, + "literal": true, + "path": "tm.h", + "raw": "\"insn-flags.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "defined IN_GCC && !defined GENERATOR_FILE", + "line": 44, + "opening": "defined IN_GCC && !defined GENERATOR_FILE", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "insn-modes.h", + "kind": "include", + "line": 45, + "literal": true, + "path": "tm.h", + "raw": "\"insn-modes.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "defaults.h", + "kind": "include", + "line": 47, + "literal": true, + "path": "tm.h", + "raw": "\"defaults.h\"" + } + ], + "original_execution": false, + "package_literal_header_graph": { + "compiler_search_semantics_proven": false, + "conditional_branches_evaluated": false, + "ordered_edges": [ + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_CONFIG_H", + "line": 1, + "opening": "GCC_CONFIG_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "auto-host.h", + "kind": "include", + "line": 6, + "literal": true, + "package_member": "auto-host.h", + "package_member_candidates": [ + "auto-host.h" + ], + "path": "config.h", + "raw": "\"auto-host.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_CONFIG_H", + "line": 1, + "opening": "GCC_CONFIG_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 7, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "ansidecl.h", + "kind": "include", + "line": 8, + "literal": true, + "package_member": "ansidecl.h", + "package_member_candidates": [ + "ansidecl.h" + ], + "path": "config.h", + "raw": "\"ansidecl.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "options.h", + "kind": "include", + "line": 22, + "literal": true, + "package_member": "options.h", + "package_member_candidates": [ + "options.h" + ], + "path": "tm.h", + "raw": "\"options.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "insn-constants.h", + "kind": "include", + "line": 23, + "literal": true, + "package_member": "insn-constants.h", + "package_member_candidates": [ + "insn-constants.h" + ], + "path": "tm.h", + "raw": "\"insn-constants.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/vxworks-dummy.h", + "kind": "include", + "line": 24, + "literal": true, + "package_member": "config/vxworks-dummy.h", + "package_member_candidates": [ + "config/vxworks-dummy.h" + ], + "path": "tm.h", + "raw": "\"config/vxworks-dummy.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/biarch64.h", + "kind": "include", + "line": 25, + "literal": true, + "package_member": "config/i386/biarch64.h", + "package_member_candidates": [ + "config/i386/biarch64.h" + ], + "path": "tm.h", + "raw": "\"config/i386/biarch64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/i386.h", + "kind": "include", + "line": 26, + "literal": true, + "package_member": "config/i386/i386.h", + "package_member_candidates": [ + "config/i386/i386.h" + ], + "path": "tm.h", + "raw": "\"config/i386/i386.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/unix.h", + "kind": "include", + "line": 27, + "literal": true, + "package_member": "config/i386/unix.h", + "package_member_candidates": [ + "config/i386/unix.h" + ], + "path": "tm.h", + "raw": "\"config/i386/unix.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/att.h", + "kind": "include", + "line": 28, + "literal": true, + "package_member": "config/i386/att.h", + "package_member_candidates": [ + "config/i386/att.h" + ], + "path": "tm.h", + "raw": "\"config/i386/att.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/elfos.h", + "kind": "include", + "line": 29, + "literal": true, + "package_member": "config/elfos.h", + "package_member_candidates": [ + "config/elfos.h" + ], + "path": "tm.h", + "raw": "\"config/elfos.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/gnu-user.h", + "kind": "include", + "line": 30, + "literal": true, + "package_member": "config/gnu-user.h", + "package_member_candidates": [ + "config/gnu-user.h" + ], + "path": "tm.h", + "raw": "\"config/gnu-user.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/glibc-stdint.h", + "kind": "include", + "line": 31, + "literal": true, + "package_member": "config/glibc-stdint.h", + "package_member_candidates": [ + "config/glibc-stdint.h" + ], + "path": "tm.h", + "raw": "\"config/glibc-stdint.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/x86-64.h", + "kind": "include", + "line": 32, + "literal": true, + "package_member": "config/i386/x86-64.h", + "package_member_candidates": [ + "config/i386/x86-64.h" + ], + "path": "tm.h", + "raw": "\"config/i386/x86-64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/gnu-user-common.h", + "kind": "include", + "line": 33, + "literal": true, + "package_member": "config/i386/gnu-user-common.h", + "package_member_candidates": [ + "config/i386/gnu-user-common.h" + ], + "path": "tm.h", + "raw": "\"config/i386/gnu-user-common.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/gnu-user64.h", + "kind": "include", + "line": 34, + "literal": true, + "package_member": "config/i386/gnu-user64.h", + "package_member_candidates": [ + "config/i386/gnu-user64.h" + ], + "path": "tm.h", + "raw": "\"config/i386/gnu-user64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/linux.h", + "kind": "include", + "line": 35, + "literal": true, + "package_member": "config/linux.h", + "package_member_candidates": [ + "config/linux.h" + ], + "path": "tm.h", + "raw": "\"config/linux.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/linux-android.h", + "kind": "include", + "line": 36, + "literal": true, + "package_member": "config/linux-android.h", + "package_member_candidates": [ + "config/linux-android.h" + ], + "path": "tm.h", + "raw": "\"config/linux-android.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/linux-common.h", + "kind": "include", + "line": 37, + "literal": true, + "package_member": "config/i386/linux-common.h", + "package_member_candidates": [ + "config/i386/linux-common.h" + ], + "path": "tm.h", + "raw": "\"config/i386/linux-common.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/linux64.h", + "kind": "include", + "line": 38, + "literal": true, + "package_member": "config/i386/linux64.h", + "package_member_candidates": [ + "config/i386/linux64.h" + ], + "path": "tm.h", + "raw": "\"config/i386/linux64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/initfini-array.h", + "kind": "include", + "line": 39, + "literal": true, + "package_member": "config/initfini-array.h", + "package_member_candidates": [ + "config/initfini-array.h" + ], + "path": "tm.h", + "raw": "\"config/initfini-array.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET", + "line": 41, + "opening": "defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "insn-flags.h", + "kind": "include", + "line": 42, + "literal": true, + "package_member": "insn-flags.h", + "package_member_candidates": [ + "insn-flags.h" + ], + "path": "tm.h", + "raw": "\"insn-flags.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "defined IN_GCC && !defined GENERATOR_FILE", + "line": 44, + "opening": "defined IN_GCC && !defined GENERATOR_FILE", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "insn-modes.h", + "kind": "include", + "line": 45, + "literal": true, + "package_member": "insn-modes.h", + "package_member_candidates": [ + "insn-modes.h" + ], + "path": "tm.h", + "raw": "\"insn-modes.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "defaults.h", + "kind": "include", + "line": 47, + "literal": true, + "package_member": "defaults.h", + "package_member_candidates": [ + "defaults.h" + ], + "path": "tm.h", + "raw": "\"defaults.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_P_H", + "line": 1, + "opening": "GCC_TM_P_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 3, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/i386-protos.h", + "kind": "include", + "line": 4, + "literal": true, + "package_member": "config/i386/i386-protos.h", + "package_member_candidates": [ + "config/i386/i386-protos.h" + ], + "path": "tm_p.h", + "raw": "\"config/i386/i386-protos.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_P_H", + "line": 1, + "opening": "GCC_TM_P_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 3, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/linux-protos.h", + "kind": "include", + "line": 5, + "literal": true, + "package_member": "config/linux-protos.h", + "package_member_candidates": [ + "config/linux-protos.h" + ], + "path": "tm_p.h", + "raw": "\"config/linux-protos.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_P_H", + "line": 1, + "opening": "GCC_TM_P_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 3, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "tm-preds.h", + "kind": "include", + "line": 6, + "literal": true, + "package_member": "tm-preds.h", + "package_member_candidates": [ + "tm-preds.h" + ], + "path": "tm_p.h", + "raw": "\"tm-preds.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "OPTIONS_H", + "line": 3, + "opening": "OPTIONS_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "flag-types.h", + "kind": "include", + "line": 6, + "literal": true, + "package_member": "flag-types.h", + "package_member_candidates": [ + "flag-types.h" + ], + "path": "options.h", + "raw": "\"flag-types.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "OPTIONS_H", + "line": 3, + "opening": "OPTIONS_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/i386-opts.h", + "kind": "include", + "line": 8, + "literal": true, + "package_member": "config/i386/i386-opts.h", + "package_member_candidates": [ + "config/i386/i386-opts.h" + ], + "path": "options.h", + "raw": "\"config/i386/i386-opts.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "OPTIONS_H", + "line": 3, + "opening": "OPTIONS_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "GCC_C_COMMON_C", + "line": 12417, + "opening": "GCC_C_COMMON_C", + "opening_kind": "ifdef" + } + ], + "delimiter": "angle", + "include_name": "cpplib.h", + "kind": "include", + "line": 12419, + "literal": true, + "path": "options.h", + "raw": "" + }, + { + "conditions": [], + "delimiter": "quote", + "include_name": "config/vxworks-dummy.h", + "kind": "include", + "line": 54, + "literal": true, + "package_member": "config/vxworks-dummy.h", + "package_member_candidates": [ + "config/vxworks-dummy.h" + ], + "path": "config/i386/i386.h", + "raw": "\"config/vxworks-dummy.h\"" + }, + { + "conditions": [], + "delimiter": "quote", + "include_name": "config/i386/i386-opts.h", + "kind": "include", + "line": 56, + "literal": true, + "package_member": "config/i386/i386-opts.h", + "package_member_candidates": [ + "config/i386/i386-opts.h" + ], + "path": "config/i386/i386.h", + "raw": "\"config/i386/i386-opts.h\"" + }, + { + "conditions": [], + "delimiter": "quote", + "include_name": "x86-tune.def", + "kind": "include", + "line": 292, + "literal": true, + "package_member": "config/i386/x86-tune.def", + "package_member_candidates": [ + "config/i386/x86-tune.def" + ], + "path": "config/i386/i386.h", + "raw": "\"x86-tune.def\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "line": 2275, + "opening": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "wide-int-bitmask.h", + "kind": "include", + "line": 2278, + "literal": true, + "package_member": "wide-int-bitmask.h", + "package_member_candidates": [ + "wide-int-bitmask.h" + ], + "path": "config/i386/i386.h", + "raw": "\"wide-int-bitmask.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "line": 2275, + "opening": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "i386-isa.def", + "kind": "include", + "line": 2283, + "literal": true, + "package_member": "config/i386/i386-isa.def", + "package_member_candidates": [ + "config/i386/i386-isa.def" + ], + "path": "config/i386/i386.h", + "raw": "\"i386-isa.def\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "line": 2275, + "opening": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "i386-isa.def", + "kind": "include", + "line": 2296, + "literal": true, + "package_member": "config/i386/i386-isa.def", + "package_member_candidates": [ + "config/i386/i386-isa.def" + ], + "path": "config/i386/i386.h", + "raw": "\"i386-isa.def\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "line": 2275, + "opening": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "opening_kind": "if" + }, + { + "branch": "initial", + "branch_expression": "GENERATOR_FILE", + "line": 2387, + "opening": "GENERATOR_FILE", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "insn-attr-common.h", + "kind": "include", + "line": 2389, + "literal": true, + "package_member": "insn-attr-common.h", + "package_member_candidates": [ + "insn-attr-common.h" + ], + "path": "config/i386/i386.h", + "raw": "\"insn-attr-common.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "line": 2275, + "opening": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "opening_kind": "if" + }, + { + "branch": "initial", + "branch_expression": "GENERATOR_FILE", + "line": 2387, + "opening": "GENERATOR_FILE", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "common/config/i386/i386-cpuinfo.h", + "kind": "include", + "line": 2391, + "literal": true, + "package_member": "common/config/i386/i386-cpuinfo.h", + "package_member_candidates": [ + "common/config/i386/i386-cpuinfo.h" + ], + "path": "config/i386/i386.h", + "raw": "\"common/config/i386/i386-cpuinfo.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "I386_OPTS_H", + "line": 25, + "opening": "I386_OPTS_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "stringop.def", + "kind": "include", + "line": 34, + "literal": true, + "package_member": "config/i386/stringop.def", + "package_member_candidates": [ + "config/i386/stringop.def" + ], + "path": "config/i386/i386-opts.h", + "raw": "\"stringop.def\"" + } + ], + "roots": [ + "config.h", + "tm.h", + "tm_p.h", + "distro-defaults.h" + ], + "unresolved_or_external_edges": [ + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "OPTIONS_H", + "line": 3, + "opening": "OPTIONS_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "GCC_C_COMMON_C", + "line": 12417, + "opening": "GCC_C_COMMON_C", + "opening_kind": "ifdef" + } + ], + "delimiter": "angle", + "include_name": "cpplib.h", + "kind": "include", + "line": 12419, + "literal": true, + "path": "options.h", + "raw": "" + } + ], + "visited_members": [ + "ansidecl.h", + "auto-host.h", + "common/config/i386/i386-cpuinfo.h", + "config.h", + "config/elfos.h", + "config/glibc-stdint.h", + "config/gnu-user.h", + "config/i386/att.h", + "config/i386/biarch64.h", + "config/i386/gnu-user-common.h", + "config/i386/gnu-user64.h", + "config/i386/i386-isa.def", + "config/i386/i386-opts.h", + "config/i386/i386-protos.h", + "config/i386/i386.h", + "config/i386/linux-common.h", + "config/i386/linux64.h", + "config/i386/stringop.def", + "config/i386/unix.h", + "config/i386/x86-64.h", + "config/i386/x86-tune.def", + "config/initfini-array.h", + "config/linux-android.h", + "config/linux-protos.h", + "config/linux.h", + "config/vxworks-dummy.h", + "defaults.h", + "distro-defaults.h", + "flag-types.h", + "insn-attr-common.h", + "insn-constants.h", + "insn-flags.h", + "insn-modes.h", + "options.h", + "tm-preds.h", + "tm.h", + "tm_p.h", + "wide-int-bitmask.h" + ] + }, + "physical_costs": "OPEN_NOT_ZERO", + "required_members": { + "auto-host.h": { + "bytes": 59854, + "sha256": "9ada1fb9d8c6f4d39e950fc3dfcefb81767c418d924a7e254774bda30e5a4537" + }, + "b-header-vars": { + "bytes": 40843, + "sha256": "2af4b5b1ac67ee4075226fe87c19e0926c430c9e560034da071e6581902623a5" + }, + "config.h": { + "bytes": 217, + "sha256": "41150681fe15436d17aa3a0b45b57345a65238fb945b14b0ca2bdf857e723e48" + }, + "configargs.h": { + "bytes": 1640, + "sha256": "987c0a46b31907a609c15c749988921053bdf81e77d3a695c981d7be7a9378fc" + }, + "defaults.h": { + "bytes": 42136, + "sha256": "012ff1fece4d6d52b00647a49472045054094afa11637d7d5fdaced73ab95eae" + }, + "distro-defaults.h": { + "bytes": 488, + "sha256": "2ccde3e3cbe4fc9fba8da310295f775d5bd77d9742090f74708f4ff24f683f6d" + }, + "options.h": { + "bytes": 504497, + "sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3" + }, + "tm.h": { + "bytes": 1184, + "sha256": "d384ae33a23985613c839280f1b4845b3415c055e32209c6bc795a4d594f018f" + }, + "tm_p.h": { + "bytes": 178, + "sha256": "d8729f976710961c7d34afc545be1c22dfb654be3425ce379511c6f837979141" + } + }, + "residual_configuration_cells": [ + { + "cell": "final-installed-gcc.o DRIVER_DEFINES", + "needed": "ordered compiled -D/-U operations, forced includes, prefixes/target/version/CONFIGURE_SPECS; final installed-stage chain", + "status": "UNAVAILABLE_BUILDLOG_HTTP503" + }, + { + "cell": "final-installed-cppdefault.o/cppbuiltin.o PREPROCESSOR_DEFINES", + "needed": "actual include-root, sysroot and relevant feature definitions; no template substitution", + "status": "UNAVAILABLE_BUILDLOG_HTTP503" + }, + { + "cell": "final-installed-prefix.o and collect2.o definitions", + "needed": "PREFIX/version and configured collect2 program/sysroot choices with final-stage provenance", + "status": "UNAVAILABLE_BUILDLOG_HTTP503" + }, + { + "cell": "specs.h lang_specs_files expansion", + "needed": "ordered generated language-spec include list or complete source derivation", + "status": "NOT_IN_PLUGIN_AND_LOG_UNAVAILABLE" + }, + { + "cell": "multilib.h tables/genmultilib inputs", + "needed": "actual generated tables or all eleven configured genmultilib inputs", + "status": "NOT_IN_PLUGIN_AND_LOG_UNAVAILABLE" + }, + { + "cell": "option initialisation", + "needed": "options.h is observed; relevant generated initialisers/decoding remain necessary", + "status": "DECLARATIONS_OBSERVED_INITIALISERS_OPEN" + }, + { + "cell": "query-producing semantics and installed correspondence", + "needed": "applied source, ordered phase/query rules, external specs, full preprocessing/PCH/tool closure, actual namespace observations and interval", + "status": "OPEN" + } + ], + "same_build_package": { + "association": "exact matching checksum rows in retained records", + "buildinfo_sha256": "6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83", + "bytes": 1451870, + "changes_sha256": "db40bf0222e18a133216deb061955adc3a54ef4ff6e1b4fe469ff8c404422b61", + "filename": "gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "sha256": "3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f", + "signature_verified": false + }, + "schema": "unit03-published-generated-config-view-v1", + "selected_b_header_vars": { + "CONFIG_H": [ + "config.h", + "auto-host.h", + "ansidecl.h" + ], + "GTM_H": [ + "tm.h", + "options.h", + "config/vxworks-dummy.h", + "biarch64.h", + "i386.h", + "unix.h", + "att.h", + "elfos.h", + "gnu-user.h", + "glibc-stdint.h", + "x86-64.h", + "gnu-user-common.h", + "gnu-user64.h", + "linux.h", + "linux-android.h", + "linux-common.h", + "linux64.h", + "initfini-array.h", + "defaults.h", + "insn-constants.h" + ], + "TM_H": [ + "tm.h", + "options.h", + "config/vxworks-dummy.h", + "biarch64.h", + "i386.h", + "unix.h", + "att.h", + "elfos.h", + "gnu-user.h", + "glibc-stdint.h", + "x86-64.h", + "gnu-user-common.h", + "gnu-user64.h", + "linux.h", + "linux-android.h", + "linux-common.h", + "linux64.h", + "initfini-array.h", + "defaults.h", + "insn-constants.h", + "insn-flags.h", + "options.h", + "flag-types.h", + "i386-opts.h", + "stringop.def", + "x86-tune.def", + "common/config/i386/i386-cpuinfo.h", + "i386-isa.def" + ], + "TM_P_H": [ + "tm_p.h", + "config/i386/i386-protos.h", + "linux-protos.h", + "tm-preds.h" + ] + }, + "source_build_status": "exact publisher/build checksum association and observed generated bytes; no regeneration or complete installed-query equivalence claim" +} diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/GENERATED-CONFIGURATION-VIEW-v2.json b/research/h25-gcc-generated-config-data/unit03/gcc/GENERATED-CONFIGURATION-VIEW-v2.json new file mode 100644 index 0000000000..2b9e2b2275 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/GENERATED-CONFIGURATION-VIEW-v2.json @@ -0,0 +1,2339 @@ +{ + "configuration_arguments": { + "configuration_arguments": "../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04.1' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2", + "configure_default_options": [ + { + "name": "abi", + "value": "m64" + }, + { + "name": "cpu", + "value": "generic" + }, + { + "name": "arch_32", + "value": "i686" + }, + { + "name": "arch_64", + "value": "x86-64" + }, + { + "name": "tune", + "value": "generic" + } + ], + "interpretation": "published literal data; shell quoting parsed without shell execution", + "ordered_configure_argv": [ + "../src/configure", + "-v", + "--with-pkgversion=Ubuntu 13.3.0-6ubuntu2~24.04.1", + "--with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs", + "--enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2", + "--prefix=/usr", + "--with-gcc-major-version-only", + "--program-suffix=-13", + "--program-prefix=x86_64-linux-gnu-", + "--enable-shared", + "--enable-linker-build-id", + "--libexecdir=/usr/libexec", + "--without-included-gettext", + "--enable-threads=posix", + "--libdir=/usr/lib", + "--enable-nls", + "--enable-bootstrap", + "--enable-clocale=gnu", + "--enable-libstdcxx-debug", + "--enable-libstdcxx-time=yes", + "--with-default-libstdcxx-abi=new", + "--enable-libstdcxx-backtrace", + "--enable-gnu-unique-object", + "--disable-vtable-verify", + "--enable-plugin", + "--enable-default-pie", + "--with-system-zlib", + "--enable-libphobos-checking=release", + "--with-target-system-zlib=auto", + "--enable-objc-gc=auto", + "--enable-multiarch", + "--disable-werror", + "--enable-cet", + "--with-arch-32=i686", + "--with-abi=m64", + "--with-multilib-list=m32,m64,mx32", + "--enable-multilib", + "--with-tune=generic", + "--enable-offload-targets=nvptx-none=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-gcn/usr", + "--enable-offload-defaulted", + "--without-cuda-driver", + "--enable-checking=release", + "--build=x86_64-linux-gnu", + "--host=x86_64-linux-gnu", + "--target=x86_64-linux-gnu", + "--with-build-config=bootstrap-lto-lean", + "--enable-link-serialization=2" + ], + "thread_model": "posix" + }, + "configure_text_matches_pinned_embedded_report": true, + "effective_configuration": false, + "embedded_report_binding": { + "claim": "literal configure data equals the exact retained report; no complete installed-query semantics proof", + "compiler_executed_in_this_unit": false, + "live_compiler_rehashed_in_this_unit": false, + "report_bytes": 1727, + "report_sha256": "b02f8530e592eddeac5f86a2fb3a8ea80f25ac0e8ab2945fccb64a665b18d4cc", + "reported_compiler_path": "/usr/bin/x86_64-linux-gnu-gcc-13", + "reported_compiler_sha256": "1b99826121ae6682a634e5efe09bd3e3df58ce58e0b28f849114ab5b89139c26", + "scope": "Passive data-string extraction from the exact pinned public executable, no execution; embedded configure text is a claim in binary metadata, not proof of complete source/build or semantics." + }, + "full_C05": false, + "full_V03": false, + "generated_options_declarations_sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3", + "header_member_count": 472, + "header_pinset_sha256": "c0c6890ff27c90b5a919d8943a707d49497aa05f1329d7ab5b06fbe95ab2e47d", + "new_scientific_activity_credit": 0, + "observed_distro_macro_operations": [ + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 4, + "name": "DIST_DEFAULT_ASYNC_UNWIND", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_ASYNC_UNWIND 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 5, + "name": "DIST_DEFAULT_SSP", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_SSP 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 6, + "name": "DIST_DEFAULT_SSP_STRONG", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_SSP_STRONG 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 7, + "name": "DIST_DEFAULT_FORMAT_SECURITY", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_FORMAT_SECURITY 1" + }, + { + "body": "3", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 8, + "name": "DIST_DEFAULT_FORTIFY_SOURCE", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_FORTIFY_SOURCE 3" + }, + { + "body": "\"3\"", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 9, + "name": "DIST_DEFAULT_FORTIFY_SOURCE_S", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_FORTIFY_SOURCE_S \"3\"" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 10, + "name": "DIST_DEFAULT_RELRO", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_RELRO 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 11, + "name": "DIST_DEFAULT_BIND_NOW", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_BIND_NOW 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 12, + "name": "DIST_DEFAULT_STACK_CLASH", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_STACK_CLASH 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 13, + "name": "DIST_DEFAULT_CF_PROTECTION", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_CF_PROTECTION 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 14, + "name": "DIST_DEFAULT_PKG_METADATA_SPEC", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_PKG_METADATA_SPEC 1" + } + ], + "observed_host_macro_cells": { + "CROSS_DIRECTORY_STRUCTURE": [], + "DEFAULT_LINKER": [], + "ENABLE_DEFAULT_PIE": [ + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "USED_FOR_TARGET", + "line": 136, + "opening": "USED_FOR_TARGET", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 137, + "name": "ENABLE_DEFAULT_PIE", + "path": "auto-host.h", + "raw": "ENABLE_DEFAULT_PIE 1" + } + ], + "GCC_INCLUDE_DIR": [], + "HAVE_GNU_AS": [ + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "USED_FOR_TARGET", + "line": 1521, + "opening": "USED_FOR_TARGET", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 1522, + "name": "HAVE_GNU_AS", + "path": "auto-host.h", + "raw": "HAVE_GNU_AS 1" + } + ], + "HAVE_GNU_LD": [ + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "USED_FOR_TARGET", + "line": 1533, + "opening": "USED_FOR_TARGET", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 1534, + "name": "HAVE_GNU_LD", + "path": "auto-host.h", + "raw": "HAVE_GNU_LD 1" + } + ], + "HAVE_LD_SYSROOT": [ + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "USED_FOR_TARGET", + "line": 1762, + "opening": "USED_FOR_TARGET", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 1763, + "name": "HAVE_LD_SYSROOT", + "path": "auto-host.h", + "raw": "HAVE_LD_SYSROOT 1" + } + ], + "HAVE_LTO_PLUGIN": [ + { + "body": "2", + "conditions": [ + { + "branch": "initial", + "branch_expression": "USED_FOR_TARGET", + "line": 1792, + "opening": "USED_FOR_TARGET", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 1793, + "name": "HAVE_LTO_PLUGIN", + "path": "auto-host.h", + "raw": "HAVE_LTO_PLUGIN 2" + } + ], + "NATIVE_SYSTEM_HEADER_DIR": [], + "STANDARD_EXEC_PREFIX": [], + "STANDARD_LIBEXEC_PREFIX": [], + "TARGET_SYSTEM_ROOT": [] + }, + "ordered_tm_default_define_operations": [ + { + "body": "", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 2, + "name": "GCC_TM_H", + "path": "tm.h", + "raw": "GCC_TM_H" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "LIBC_GLIBC", + "line": 3, + "opening": "LIBC_GLIBC", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 4, + "name": "LIBC_GLIBC", + "path": "tm.h", + "raw": "LIBC_GLIBC 1" + }, + { + "body": "2", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "LIBC_UCLIBC", + "line": 6, + "opening": "LIBC_UCLIBC", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 7, + "name": "LIBC_UCLIBC", + "path": "tm.h", + "raw": "LIBC_UCLIBC 2" + }, + { + "body": "3", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "LIBC_BIONIC", + "line": 9, + "opening": "LIBC_BIONIC", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 10, + "name": "LIBC_BIONIC", + "path": "tm.h", + "raw": "LIBC_BIONIC 3" + }, + { + "body": "4", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "LIBC_MUSL", + "line": 12, + "opening": "LIBC_MUSL", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 13, + "name": "LIBC_MUSL", + "path": "tm.h", + "raw": "LIBC_MUSL 4" + }, + { + "body": "LIBC_GLIBC", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "DEFAULT_LIBC", + "line": 15, + "opening": "DEFAULT_LIBC", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 16, + "name": "DEFAULT_LIBC", + "path": "tm.h", + "raw": "DEFAULT_LIBC LIBC_GLIBC" + }, + { + "body": "0", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "ANDROID_DEFAULT", + "line": 18, + "opening": "ANDROID_DEFAULT", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 19, + "name": "ANDROID_DEFAULT", + "path": "tm.h", + "raw": "ANDROID_DEFAULT 0" + } + ], + "ordered_tm_header_operations": [ + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "options.h", + "kind": "include", + "line": 22, + "literal": true, + "path": "tm.h", + "raw": "\"options.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "insn-constants.h", + "kind": "include", + "line": 23, + "literal": true, + "path": "tm.h", + "raw": "\"insn-constants.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/vxworks-dummy.h", + "kind": "include", + "line": 24, + "literal": true, + "path": "tm.h", + "raw": "\"config/vxworks-dummy.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/biarch64.h", + "kind": "include", + "line": 25, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/biarch64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/i386.h", + "kind": "include", + "line": 26, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/i386.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/unix.h", + "kind": "include", + "line": 27, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/unix.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/att.h", + "kind": "include", + "line": 28, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/att.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/elfos.h", + "kind": "include", + "line": 29, + "literal": true, + "path": "tm.h", + "raw": "\"config/elfos.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/gnu-user.h", + "kind": "include", + "line": 30, + "literal": true, + "path": "tm.h", + "raw": "\"config/gnu-user.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/glibc-stdint.h", + "kind": "include", + "line": 31, + "literal": true, + "path": "tm.h", + "raw": "\"config/glibc-stdint.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/x86-64.h", + "kind": "include", + "line": 32, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/x86-64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/gnu-user-common.h", + "kind": "include", + "line": 33, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/gnu-user-common.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/gnu-user64.h", + "kind": "include", + "line": 34, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/gnu-user64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/linux.h", + "kind": "include", + "line": 35, + "literal": true, + "path": "tm.h", + "raw": "\"config/linux.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/linux-android.h", + "kind": "include", + "line": 36, + "literal": true, + "path": "tm.h", + "raw": "\"config/linux-android.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/linux-common.h", + "kind": "include", + "line": 37, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/linux-common.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/linux64.h", + "kind": "include", + "line": 38, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/linux64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/initfini-array.h", + "kind": "include", + "line": 39, + "literal": true, + "path": "tm.h", + "raw": "\"config/initfini-array.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET", + "line": 41, + "opening": "defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "insn-flags.h", + "kind": "include", + "line": 42, + "literal": true, + "path": "tm.h", + "raw": "\"insn-flags.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "defined IN_GCC && !defined GENERATOR_FILE", + "line": 44, + "opening": "defined IN_GCC && !defined GENERATOR_FILE", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "insn-modes.h", + "kind": "include", + "line": 45, + "literal": true, + "path": "tm.h", + "raw": "\"insn-modes.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "defaults.h", + "kind": "include", + "line": 47, + "literal": true, + "path": "tm.h", + "raw": "\"defaults.h\"" + } + ], + "original_execution": false, + "package_literal_header_graph": { + "compiler_search_semantics_proven": false, + "conditional_branches_evaluated": false, + "ordered_edges": [ + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_CONFIG_H", + "line": 1, + "opening": "GCC_CONFIG_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "auto-host.h", + "kind": "include", + "line": 6, + "literal": true, + "package_member": "auto-host.h", + "package_member_candidates": [ + "auto-host.h" + ], + "path": "config.h", + "raw": "\"auto-host.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_CONFIG_H", + "line": 1, + "opening": "GCC_CONFIG_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 7, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "ansidecl.h", + "kind": "include", + "line": 8, + "literal": true, + "package_member": "ansidecl.h", + "package_member_candidates": [ + "ansidecl.h" + ], + "path": "config.h", + "raw": "\"ansidecl.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "options.h", + "kind": "include", + "line": 22, + "literal": true, + "package_member": "options.h", + "package_member_candidates": [ + "options.h" + ], + "path": "tm.h", + "raw": "\"options.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "insn-constants.h", + "kind": "include", + "line": 23, + "literal": true, + "package_member": "insn-constants.h", + "package_member_candidates": [ + "insn-constants.h" + ], + "path": "tm.h", + "raw": "\"insn-constants.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/vxworks-dummy.h", + "kind": "include", + "line": 24, + "literal": true, + "package_member": "config/vxworks-dummy.h", + "package_member_candidates": [ + "config/vxworks-dummy.h" + ], + "path": "tm.h", + "raw": "\"config/vxworks-dummy.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/biarch64.h", + "kind": "include", + "line": 25, + "literal": true, + "package_member": "config/i386/biarch64.h", + "package_member_candidates": [ + "config/i386/biarch64.h" + ], + "path": "tm.h", + "raw": "\"config/i386/biarch64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/i386.h", + "kind": "include", + "line": 26, + "literal": true, + "package_member": "config/i386/i386.h", + "package_member_candidates": [ + "config/i386/i386.h" + ], + "path": "tm.h", + "raw": "\"config/i386/i386.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/unix.h", + "kind": "include", + "line": 27, + "literal": true, + "package_member": "config/i386/unix.h", + "package_member_candidates": [ + "config/i386/unix.h" + ], + "path": "tm.h", + "raw": "\"config/i386/unix.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/att.h", + "kind": "include", + "line": 28, + "literal": true, + "package_member": "config/i386/att.h", + "package_member_candidates": [ + "config/i386/att.h" + ], + "path": "tm.h", + "raw": "\"config/i386/att.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/elfos.h", + "kind": "include", + "line": 29, + "literal": true, + "package_member": "config/elfos.h", + "package_member_candidates": [ + "config/elfos.h" + ], + "path": "tm.h", + "raw": "\"config/elfos.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/gnu-user.h", + "kind": "include", + "line": 30, + "literal": true, + "package_member": "config/gnu-user.h", + "package_member_candidates": [ + "config/gnu-user.h" + ], + "path": "tm.h", + "raw": "\"config/gnu-user.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/glibc-stdint.h", + "kind": "include", + "line": 31, + "literal": true, + "package_member": "config/glibc-stdint.h", + "package_member_candidates": [ + "config/glibc-stdint.h" + ], + "path": "tm.h", + "raw": "\"config/glibc-stdint.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/x86-64.h", + "kind": "include", + "line": 32, + "literal": true, + "package_member": "config/i386/x86-64.h", + "package_member_candidates": [ + "config/i386/x86-64.h" + ], + "path": "tm.h", + "raw": "\"config/i386/x86-64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/gnu-user-common.h", + "kind": "include", + "line": 33, + "literal": true, + "package_member": "config/i386/gnu-user-common.h", + "package_member_candidates": [ + "config/i386/gnu-user-common.h" + ], + "path": "tm.h", + "raw": "\"config/i386/gnu-user-common.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/gnu-user64.h", + "kind": "include", + "line": 34, + "literal": true, + "package_member": "config/i386/gnu-user64.h", + "package_member_candidates": [ + "config/i386/gnu-user64.h" + ], + "path": "tm.h", + "raw": "\"config/i386/gnu-user64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/linux.h", + "kind": "include", + "line": 35, + "literal": true, + "package_member": "config/linux.h", + "package_member_candidates": [ + "config/linux.h" + ], + "path": "tm.h", + "raw": "\"config/linux.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/linux-android.h", + "kind": "include", + "line": 36, + "literal": true, + "package_member": "config/linux-android.h", + "package_member_candidates": [ + "config/linux-android.h" + ], + "path": "tm.h", + "raw": "\"config/linux-android.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/linux-common.h", + "kind": "include", + "line": 37, + "literal": true, + "package_member": "config/i386/linux-common.h", + "package_member_candidates": [ + "config/i386/linux-common.h" + ], + "path": "tm.h", + "raw": "\"config/i386/linux-common.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/linux64.h", + "kind": "include", + "line": 38, + "literal": true, + "package_member": "config/i386/linux64.h", + "package_member_candidates": [ + "config/i386/linux64.h" + ], + "path": "tm.h", + "raw": "\"config/i386/linux64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/initfini-array.h", + "kind": "include", + "line": 39, + "literal": true, + "package_member": "config/initfini-array.h", + "package_member_candidates": [ + "config/initfini-array.h" + ], + "path": "tm.h", + "raw": "\"config/initfini-array.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET", + "line": 41, + "opening": "defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "insn-flags.h", + "kind": "include", + "line": 42, + "literal": true, + "package_member": "insn-flags.h", + "package_member_candidates": [ + "insn-flags.h" + ], + "path": "tm.h", + "raw": "\"insn-flags.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "defined IN_GCC && !defined GENERATOR_FILE", + "line": 44, + "opening": "defined IN_GCC && !defined GENERATOR_FILE", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "insn-modes.h", + "kind": "include", + "line": 45, + "literal": true, + "package_member": "insn-modes.h", + "package_member_candidates": [ + "insn-modes.h" + ], + "path": "tm.h", + "raw": "\"insn-modes.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "defaults.h", + "kind": "include", + "line": 47, + "literal": true, + "package_member": "defaults.h", + "package_member_candidates": [ + "defaults.h" + ], + "path": "tm.h", + "raw": "\"defaults.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_P_H", + "line": 1, + "opening": "GCC_TM_P_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 3, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/i386-protos.h", + "kind": "include", + "line": 4, + "literal": true, + "package_member": "config/i386/i386-protos.h", + "package_member_candidates": [ + "config/i386/i386-protos.h" + ], + "path": "tm_p.h", + "raw": "\"config/i386/i386-protos.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_P_H", + "line": 1, + "opening": "GCC_TM_P_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 3, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/linux-protos.h", + "kind": "include", + "line": 5, + "literal": true, + "package_member": "config/linux-protos.h", + "package_member_candidates": [ + "config/linux-protos.h" + ], + "path": "tm_p.h", + "raw": "\"config/linux-protos.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_P_H", + "line": 1, + "opening": "GCC_TM_P_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 3, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "tm-preds.h", + "kind": "include", + "line": 6, + "literal": true, + "package_member": "tm-preds.h", + "package_member_candidates": [ + "tm-preds.h" + ], + "path": "tm_p.h", + "raw": "\"tm-preds.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "OPTIONS_H", + "line": 3, + "opening": "OPTIONS_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "flag-types.h", + "kind": "include", + "line": 6, + "literal": true, + "package_member": "flag-types.h", + "package_member_candidates": [ + "flag-types.h" + ], + "path": "options.h", + "raw": "\"flag-types.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "OPTIONS_H", + "line": 3, + "opening": "OPTIONS_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/i386-opts.h", + "kind": "include", + "line": 8, + "literal": true, + "package_member": "config/i386/i386-opts.h", + "package_member_candidates": [ + "config/i386/i386-opts.h" + ], + "path": "options.h", + "raw": "\"config/i386/i386-opts.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "OPTIONS_H", + "line": 3, + "opening": "OPTIONS_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "GCC_C_COMMON_C", + "line": 12417, + "opening": "GCC_C_COMMON_C", + "opening_kind": "ifdef" + } + ], + "delimiter": "angle", + "include_name": "cpplib.h", + "kind": "include", + "line": 12419, + "literal": true, + "path": "options.h", + "raw": "" + }, + { + "conditions": [], + "delimiter": "quote", + "include_name": "config/vxworks-dummy.h", + "kind": "include", + "line": 54, + "literal": true, + "package_member": "config/vxworks-dummy.h", + "package_member_candidates": [ + "config/vxworks-dummy.h" + ], + "path": "config/i386/i386.h", + "raw": "\"config/vxworks-dummy.h\"" + }, + { + "conditions": [], + "delimiter": "quote", + "include_name": "config/i386/i386-opts.h", + "kind": "include", + "line": 56, + "literal": true, + "package_member": "config/i386/i386-opts.h", + "package_member_candidates": [ + "config/i386/i386-opts.h" + ], + "path": "config/i386/i386.h", + "raw": "\"config/i386/i386-opts.h\"" + }, + { + "conditions": [], + "delimiter": "quote", + "include_name": "x86-tune.def", + "kind": "include", + "line": 292, + "literal": true, + "package_member": "config/i386/x86-tune.def", + "package_member_candidates": [ + "config/i386/x86-tune.def" + ], + "path": "config/i386/i386.h", + "raw": "\"x86-tune.def\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "line": 2275, + "opening": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "wide-int-bitmask.h", + "kind": "include", + "line": 2278, + "literal": true, + "package_member": "wide-int-bitmask.h", + "package_member_candidates": [ + "wide-int-bitmask.h" + ], + "path": "config/i386/i386.h", + "raw": "\"wide-int-bitmask.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "line": 2275, + "opening": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "i386-isa.def", + "kind": "include", + "line": 2283, + "literal": true, + "package_member": "config/i386/i386-isa.def", + "package_member_candidates": [ + "config/i386/i386-isa.def" + ], + "path": "config/i386/i386.h", + "raw": "\"i386-isa.def\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "line": 2275, + "opening": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "i386-isa.def", + "kind": "include", + "line": 2296, + "literal": true, + "package_member": "config/i386/i386-isa.def", + "package_member_candidates": [ + "config/i386/i386-isa.def" + ], + "path": "config/i386/i386.h", + "raw": "\"i386-isa.def\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "line": 2275, + "opening": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "opening_kind": "if" + }, + { + "branch": "initial", + "branch_expression": "GENERATOR_FILE", + "line": 2387, + "opening": "GENERATOR_FILE", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "insn-attr-common.h", + "kind": "include", + "line": 2389, + "literal": true, + "package_member": "insn-attr-common.h", + "package_member_candidates": [ + "insn-attr-common.h" + ], + "path": "config/i386/i386.h", + "raw": "\"insn-attr-common.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "line": 2275, + "opening": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "opening_kind": "if" + }, + { + "branch": "initial", + "branch_expression": "GENERATOR_FILE", + "line": 2387, + "opening": "GENERATOR_FILE", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "common/config/i386/i386-cpuinfo.h", + "kind": "include", + "line": 2391, + "literal": true, + "package_member": "common/config/i386/i386-cpuinfo.h", + "package_member_candidates": [ + "common/config/i386/i386-cpuinfo.h" + ], + "path": "config/i386/i386.h", + "raw": "\"common/config/i386/i386-cpuinfo.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "I386_OPTS_H", + "line": 25, + "opening": "I386_OPTS_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "stringop.def", + "kind": "include", + "line": 34, + "literal": true, + "package_member": "config/i386/stringop.def", + "package_member_candidates": [ + "config/i386/stringop.def" + ], + "path": "config/i386/i386-opts.h", + "raw": "\"stringop.def\"" + } + ], + "roots": [ + "config.h", + "tm.h", + "tm_p.h", + "distro-defaults.h" + ], + "unresolved_or_external_edges": [ + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "OPTIONS_H", + "line": 3, + "opening": "OPTIONS_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "GCC_C_COMMON_C", + "line": 12417, + "opening": "GCC_C_COMMON_C", + "opening_kind": "ifdef" + } + ], + "delimiter": "angle", + "include_name": "cpplib.h", + "kind": "include", + "line": 12419, + "literal": true, + "path": "options.h", + "raw": "" + } + ], + "visited_members": [ + "ansidecl.h", + "auto-host.h", + "common/config/i386/i386-cpuinfo.h", + "config.h", + "config/elfos.h", + "config/glibc-stdint.h", + "config/gnu-user.h", + "config/i386/att.h", + "config/i386/biarch64.h", + "config/i386/gnu-user-common.h", + "config/i386/gnu-user64.h", + "config/i386/i386-isa.def", + "config/i386/i386-opts.h", + "config/i386/i386-protos.h", + "config/i386/i386.h", + "config/i386/linux-common.h", + "config/i386/linux64.h", + "config/i386/stringop.def", + "config/i386/unix.h", + "config/i386/x86-64.h", + "config/i386/x86-tune.def", + "config/initfini-array.h", + "config/linux-android.h", + "config/linux-protos.h", + "config/linux.h", + "config/vxworks-dummy.h", + "defaults.h", + "distro-defaults.h", + "flag-types.h", + "insn-attr-common.h", + "insn-constants.h", + "insn-flags.h", + "insn-modes.h", + "options.h", + "tm-preds.h", + "tm.h", + "tm_p.h", + "wide-int-bitmask.h" + ] + }, + "physical_costs": "OPEN_NOT_ZERO", + "required_members": { + "auto-host.h": { + "bytes": 59854, + "sha256": "9ada1fb9d8c6f4d39e950fc3dfcefb81767c418d924a7e254774bda30e5a4537" + }, + "b-header-vars": { + "bytes": 40843, + "sha256": "2af4b5b1ac67ee4075226fe87c19e0926c430c9e560034da071e6581902623a5" + }, + "config.h": { + "bytes": 217, + "sha256": "41150681fe15436d17aa3a0b45b57345a65238fb945b14b0ca2bdf857e723e48" + }, + "configargs.h": { + "bytes": 1640, + "sha256": "987c0a46b31907a609c15c749988921053bdf81e77d3a695c981d7be7a9378fc" + }, + "defaults.h": { + "bytes": 42136, + "sha256": "012ff1fece4d6d52b00647a49472045054094afa11637d7d5fdaced73ab95eae" + }, + "distro-defaults.h": { + "bytes": 488, + "sha256": "2ccde3e3cbe4fc9fba8da310295f775d5bd77d9742090f74708f4ff24f683f6d" + }, + "options.h": { + "bytes": 504497, + "sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3" + }, + "tm.h": { + "bytes": 1184, + "sha256": "d384ae33a23985613c839280f1b4845b3415c055e32209c6bc795a4d594f018f" + }, + "tm_p.h": { + "bytes": 178, + "sha256": "d8729f976710961c7d34afc545be1c22dfb654be3425ce379511c6f837979141" + } + }, + "residual_configuration_cells": [ + { + "cell": "final-installed-gcc.o DRIVER_DEFINES", + "needed": "ordered compiled -D/-U operations, forced includes, prefixes/target/version/CONFIGURE_SPECS; final installed-stage chain", + "status": "UNAVAILABLE_BUILDLOG_HTTP503" + }, + { + "cell": "final-installed-cppdefault.o/cppbuiltin.o PREPROCESSOR_DEFINES", + "needed": "actual include-root, sysroot and relevant feature definitions; no template substitution", + "status": "UNAVAILABLE_BUILDLOG_HTTP503" + }, + { + "cell": "final-installed-prefix.o and collect2.o definitions", + "needed": "PREFIX/version and configured collect2 program/sysroot choices with final-stage provenance", + "status": "UNAVAILABLE_BUILDLOG_HTTP503" + }, + { + "cell": "specs.h lang_specs_files expansion", + "needed": "ordered generated language-spec include list or complete source derivation", + "status": "NOT_IN_PLUGIN_AND_LOG_UNAVAILABLE" + }, + { + "cell": "multilib.h tables/genmultilib inputs", + "needed": "actual generated tables or all eleven configured genmultilib inputs", + "status": "NOT_IN_PLUGIN_AND_LOG_UNAVAILABLE" + }, + { + "cell": "option initialisation", + "needed": "options.h is observed; relevant generated initialisers/decoding remain necessary", + "status": "DECLARATIONS_OBSERVED_INITIALISERS_OPEN" + }, + { + "cell": "query-producing semantics and installed correspondence", + "needed": "applied source, ordered phase/query rules, external specs, full preprocessing/PCH/tool closure, actual namespace observations and interval", + "status": "OPEN" + } + ], + "retained_compiler_member_binding": { + "fresh_observation_in_this_unit": false, + "member": { + "bytes": 1023032, + "expected_bytes": 1023032, + "expected_sha256": "1b99826121ae6682a634e5efe09bd3e3df58ce58e0b28f849114ab5b89139c26", + "matches_pin": true, + "mode": 493, + "path": "/usr/bin/x86_64-linux-gnu-gcc-13", + "sha256": "1b99826121ae6682a634e5efe09bd3e3df58ce58e0b28f849114ab5b89139c26" + }, + "report_bytes": 3437, + "report_sha256": "7ade5b65ff17b1a941bc768eb81aaffb986ba6b40fea689d3408f1889032b98f", + "scope": "Official downloaded package member hashes compared to original pins; no signature/build reproducibility or configured-rule completeness claim; no package code installed/executed" + }, + "same_build_package": { + "association": "exact matching checksum rows in retained records", + "buildinfo_sha256": "6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83", + "bytes": 1451870, + "changes_sha256": "db40bf0222e18a133216deb061955adc3a54ef4ff6e1b4fe469ff8c404422b61", + "filename": "gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "sha256": "3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f", + "signature_verified": false + }, + "schema": "unit03-published-generated-config-view-v1", + "selected_b_header_vars": { + "CONFIG_H": [ + "config.h", + "auto-host.h", + "ansidecl.h" + ], + "GTM_H": [ + "tm.h", + "options.h", + "config/vxworks-dummy.h", + "biarch64.h", + "i386.h", + "unix.h", + "att.h", + "elfos.h", + "gnu-user.h", + "glibc-stdint.h", + "x86-64.h", + "gnu-user-common.h", + "gnu-user64.h", + "linux.h", + "linux-android.h", + "linux-common.h", + "linux64.h", + "initfini-array.h", + "defaults.h", + "insn-constants.h" + ], + "TM_H": [ + "tm.h", + "options.h", + "config/vxworks-dummy.h", + "biarch64.h", + "i386.h", + "unix.h", + "att.h", + "elfos.h", + "gnu-user.h", + "glibc-stdint.h", + "x86-64.h", + "gnu-user-common.h", + "gnu-user64.h", + "linux.h", + "linux-android.h", + "linux-common.h", + "linux64.h", + "initfini-array.h", + "defaults.h", + "insn-constants.h", + "insn-flags.h", + "options.h", + "flag-types.h", + "i386-opts.h", + "stringop.def", + "x86-tune.def", + "common/config/i386/i386-cpuinfo.h", + "i386-isa.def" + ], + "TM_P_H": [ + "tm_p.h", + "config/i386/i386-protos.h", + "linux-protos.h", + "tm-preds.h" + ] + }, + "source_build_status": "exact publisher/build checksum association and observed generated bytes; no regeneration or complete installed-query equivalence claim" +} diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/REVIEW-HOLD-v1.json b/research/h25-gcc-generated-config-data/unit03/gcc/REVIEW-HOLD-v1.json new file mode 100644 index 0000000000..0bac07399c --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/REVIEW-HOLD-v1.json @@ -0,0 +1,47 @@ +{ + "conditions_recorder": "ordered conditional data, not evaluator", + "disposition": "HOLD_PENDING_INDEPENDENT_PROVENANCE_REVIEW", + "files": [ + { + "bytes": 10053, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/configured_data_v1.py", + "sha256": "9cc6b211dcb7f696eb128a331da91e46c5ff5b282653d1fe63eb5bde42ef9c35", + "snapshot": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/pre-review-v1/configured_data_v1.py" + }, + { + "bytes": 16800, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/generated_config_v1.py", + "sha256": "e05316e1ad36740ccc29350bf9f93387f7f2c8e0b5ac97f351ecc95525677e65", + "snapshot": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/pre-review-v1/generated_config_v1.py" + }, + { + "bytes": 12732, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/test_configured_data_v1.py", + "sha256": "f2cc8fe090fb43c0cc75dc1e56fe488d09e3e1f97a54454dc66e044165bcab0d", + "snapshot": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/pre-review-v1/test_configured_data_v1.py" + }, + { + "bytes": 89677, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/header-member-pins-v1.json", + "sha256": "c0c6890ff27c90b5a919d8943a707d49497aa05f1329d7ab5b06fbe95ab2e47d", + "snapshot": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/pre-review-v1/header-member-pins-v1.json" + }, + { + "bytes": 63583, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/GENERATED-CONFIGURATION-VIEW-v1.json", + "sha256": "dd255edb52b640d7c782e11f035e695eaad1d609741a5170df20fd2ae08f3c30", + "snapshot": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/pre-review-v1/GENERATED-CONFIGURATION-VIEW-v1.json" + }, + { + "bytes": 1743, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/SOURCE-PROJECTION-COMPARISON-v1.json", + "sha256": "5190c1077e8fadfecac194065f2daf0445700dedf10c738151f99db7055c5426", + "snapshot": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/gcc/pre-review-v1/SOURCE-PROJECTION-COMPARISON-v1.json" + } + ], + "no_source_or_original_execution": true, + "normal_fixture_result": "25/25PASS4.247s", + "observed_utc": "2026-11-02T09:28:57.001238+00:00", + "optimized_fixture_result": "25/25PASS4.254s", + "reported_potential_defect": "embedded report not independently hash/path/compiler-SHA pinned before pinned_driver label" +} diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/SOURCE-PROJECTION-COMPARISON-v1.json b/research/h25-gcc-generated-config-data/unit03/gcc/SOURCE-PROJECTION-COMPARISON-v1.json new file mode 100644 index 0000000000..382eab7925 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/SOURCE-PROJECTION-COMPARISON-v1.json @@ -0,0 +1,30 @@ +[ + { + "bytes_equal": true, + "frozen_source_projection_sha256": "8f3518bc748dd1f7c1f19bcc2d59201405b5a599820256ff1ecdf9ea63392daf", + "package_member": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "package_sha256": "8f3518bc748dd1f7c1f19bcc2d59201405b5a599820256ff1ecdf9ea63392daf", + "scope": "byte comparison to prior conditional source projection; no full installed-source semantics proof" + }, + { + "bytes_equal": true, + "frozen_source_projection_sha256": "5507732a24911a39abbf7d2526fd8c1b09db98c0519b7388b7143a3c01bdbccb", + "package_member": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "package_sha256": "5507732a24911a39abbf7d2526fd8c1b09db98c0519b7388b7143a3c01bdbccb", + "scope": "byte comparison to prior conditional source projection; no full installed-source semantics proof" + }, + { + "bytes_equal": true, + "frozen_source_projection_sha256": "9007684d92746203c280b53a69debfff75851e31c1cd9ce6cd5c61f705d5179c", + "package_member": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "package_sha256": "9007684d92746203c280b53a69debfff75851e31c1cd9ce6cd5c61f705d5179c", + "scope": "byte comparison to prior conditional source projection; no full installed-source semantics proof" + }, + { + "bytes_equal": true, + "frozen_source_projection_sha256": "ce71be1f80fac59483042c6dd421bd267765c44f977505955b2718e30da612c4", + "package_member": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "package_sha256": "ce71be1f80fac59483042c6dd421bd267765c44f977505955b2718e30da612c4", + "scope": "byte comparison to prior conditional source projection; no full installed-source semantics proof" + } +] diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/TEST-NORMAL-repair-v2.txt b/research/h25-gcc-generated-config-data/unit03/gcc/TEST-NORMAL-repair-v2.txt new file mode 100644 index 0000000000..ad16a73031 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/TEST-NORMAL-repair-v2.txt @@ -0,0 +1,35 @@ +test_actual_archive_reparse_uses_strict_boundaries (__main__.ActualPublishedDataControls.test_actual_archive_reparse_uses_strict_boundaries) ... ok +test_actual_distro_defines_and_declarations_do_not_mint_initialisers (__main__.ActualPublishedDataControls.test_actual_distro_defines_and_declarations_do_not_mint_initialisers) ... ok +test_changed_compiler_size_binding_report_refused (__main__.ActualPublishedDataControls.test_changed_compiler_size_binding_report_refused) ... ok +test_configargs_corroborates_driver_and_retains_ordered_defaults (__main__.ActualPublishedDataControls.test_configargs_corroborates_driver_and_retains_ordered_defaults) ... ok +test_earlier_stage_cannot_satisfy_missing_final_stage_cell (__main__.ActualPublishedDataControls.test_earlier_stage_cannot_satisfy_missing_final_stage_cell) ... ok +test_forged_metadata_cannot_mint_pinned_report_equality (__main__.ActualPublishedDataControls.test_forged_metadata_cannot_mint_pinned_report_equality) ... ok +test_generated_change_rejected_despite_identical_configure_text (__main__.ActualPublishedDataControls.test_generated_change_rejected_despite_identical_configure_text) ... ok +test_missing_driver_defines_are_empty_observations_not_guessed_values (__main__.ActualPublishedDataControls.test_missing_driver_defines_are_empty_observations_not_guessed_values) ... ok +test_missing_metadata_and_changed_report_bytes_refused (__main__.ActualPublishedDataControls.test_missing_metadata_and_changed_report_bytes_refused) ... ok +test_published_tm_order_and_conditions (__main__.ActualPublishedDataControls.test_published_tm_order_and_conditions) ... ok +test_same_version_another_record_body_rejected (__main__.ActualPublishedDataControls.test_same_version_another_record_body_rejected) ... ok +test_ar_layout_metadata_and_payloads_preserved (__main__.ArchiveControls.test_ar_layout_metadata_and_payloads_preserved) ... ok +test_duplicate_ar_and_truncation_refused (__main__.ArchiveControls.test_duplicate_ar_and_truncation_refused) ... ok +test_multi_member_offsets_with_independent_odd_padding_vector (__main__.ArchiveControls.test_multi_member_offsets_with_independent_odd_padding_vector) ... ok +test_normalized_duplicate_tar_path_refused (__main__.ArchiveControls.test_normalized_duplicate_tar_path_refused) ... ok +test_tar_symlink_kind_and_alias_retained (__main__.ArchiveControls.test_tar_symlink_kind_and_alias_retained) ... ok +test_tar_traversal_and_hidden_tail_refused (__main__.ArchiveControls.test_tar_traversal_and_hidden_tail_refused) ... ok +test_control_paragraph_and_unsafe_row_refused (__main__.AssociationControls.test_control_paragraph_and_unsafe_row_refused) ... ok +test_duplicate_checksum_filenames_refused (__main__.AssociationControls.test_duplicate_checksum_filenames_refused) ... ok +test_duplicate_fields_case_insensitive_refused (__main__.AssociationControls.test_duplicate_fields_case_insensitive_refused) ... ok +test_missing_exact_filename_refused (__main__.AssociationControls.test_missing_exact_filename_refused) ... ok +test_same_build_rows_agree (__main__.AssociationControls.test_same_build_rows_agree) ... ok +test_same_version_different_package_row_refused (__main__.AssociationControls.test_same_version_different_package_row_refused) ... ok +test_branches_stay_explicit_and_malformed_is_refused (__main__.HeaderDataControls.test_branches_stay_explicit_and_malformed_is_refused) ... ok +test_c_string_grammar_does_not_execute_or_guess (__main__.HeaderDataControls.test_c_string_grammar_does_not_execute_or_guess) ... ok +test_comments_and_splicing_control_file_operations (__main__.HeaderDataControls.test_comments_and_splicing_control_file_operations) ... ok +test_formfeed_is_not_a_fabricated_directive_line (__main__.HeaderDataControls.test_formfeed_is_not_a_fabricated_directive_line) ... ok +test_header_vars_preserves_repeats_and_rejects_make (__main__.HeaderDataControls.test_header_vars_preserves_repeats_and_rejects_make) ... ok +test_tm_reordering_preserves_changed_macro_precedence (__main__.HeaderDataControls.test_tm_reordering_preserves_changed_macro_precedence) ... ok + +---------------------------------------------------------------------- +Ran 29 tests in 4.541s + +OK + diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/TEST-OPTIMIZED-repair-v2.txt b/research/h25-gcc-generated-config-data/unit03/gcc/TEST-OPTIMIZED-repair-v2.txt new file mode 100644 index 0000000000..d41a27b33d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/TEST-OPTIMIZED-repair-v2.txt @@ -0,0 +1,35 @@ +test_actual_archive_reparse_uses_strict_boundaries (__main__.ActualPublishedDataControls.test_actual_archive_reparse_uses_strict_boundaries) ... ok +test_actual_distro_defines_and_declarations_do_not_mint_initialisers (__main__.ActualPublishedDataControls.test_actual_distro_defines_and_declarations_do_not_mint_initialisers) ... ok +test_changed_compiler_size_binding_report_refused (__main__.ActualPublishedDataControls.test_changed_compiler_size_binding_report_refused) ... ok +test_configargs_corroborates_driver_and_retains_ordered_defaults (__main__.ActualPublishedDataControls.test_configargs_corroborates_driver_and_retains_ordered_defaults) ... ok +test_earlier_stage_cannot_satisfy_missing_final_stage_cell (__main__.ActualPublishedDataControls.test_earlier_stage_cannot_satisfy_missing_final_stage_cell) ... ok +test_forged_metadata_cannot_mint_pinned_report_equality (__main__.ActualPublishedDataControls.test_forged_metadata_cannot_mint_pinned_report_equality) ... ok +test_generated_change_rejected_despite_identical_configure_text (__main__.ActualPublishedDataControls.test_generated_change_rejected_despite_identical_configure_text) ... ok +test_missing_driver_defines_are_empty_observations_not_guessed_values (__main__.ActualPublishedDataControls.test_missing_driver_defines_are_empty_observations_not_guessed_values) ... ok +test_missing_metadata_and_changed_report_bytes_refused (__main__.ActualPublishedDataControls.test_missing_metadata_and_changed_report_bytes_refused) ... ok +test_published_tm_order_and_conditions (__main__.ActualPublishedDataControls.test_published_tm_order_and_conditions) ... ok +test_same_version_another_record_body_rejected (__main__.ActualPublishedDataControls.test_same_version_another_record_body_rejected) ... ok +test_ar_layout_metadata_and_payloads_preserved (__main__.ArchiveControls.test_ar_layout_metadata_and_payloads_preserved) ... ok +test_duplicate_ar_and_truncation_refused (__main__.ArchiveControls.test_duplicate_ar_and_truncation_refused) ... ok +test_multi_member_offsets_with_independent_odd_padding_vector (__main__.ArchiveControls.test_multi_member_offsets_with_independent_odd_padding_vector) ... ok +test_normalized_duplicate_tar_path_refused (__main__.ArchiveControls.test_normalized_duplicate_tar_path_refused) ... ok +test_tar_symlink_kind_and_alias_retained (__main__.ArchiveControls.test_tar_symlink_kind_and_alias_retained) ... ok +test_tar_traversal_and_hidden_tail_refused (__main__.ArchiveControls.test_tar_traversal_and_hidden_tail_refused) ... ok +test_control_paragraph_and_unsafe_row_refused (__main__.AssociationControls.test_control_paragraph_and_unsafe_row_refused) ... ok +test_duplicate_checksum_filenames_refused (__main__.AssociationControls.test_duplicate_checksum_filenames_refused) ... ok +test_duplicate_fields_case_insensitive_refused (__main__.AssociationControls.test_duplicate_fields_case_insensitive_refused) ... ok +test_missing_exact_filename_refused (__main__.AssociationControls.test_missing_exact_filename_refused) ... ok +test_same_build_rows_agree (__main__.AssociationControls.test_same_build_rows_agree) ... ok +test_same_version_different_package_row_refused (__main__.AssociationControls.test_same_version_different_package_row_refused) ... ok +test_branches_stay_explicit_and_malformed_is_refused (__main__.HeaderDataControls.test_branches_stay_explicit_and_malformed_is_refused) ... ok +test_c_string_grammar_does_not_execute_or_guess (__main__.HeaderDataControls.test_c_string_grammar_does_not_execute_or_guess) ... ok +test_comments_and_splicing_control_file_operations (__main__.HeaderDataControls.test_comments_and_splicing_control_file_operations) ... ok +test_formfeed_is_not_a_fabricated_directive_line (__main__.HeaderDataControls.test_formfeed_is_not_a_fabricated_directive_line) ... ok +test_header_vars_preserves_repeats_and_rejects_make (__main__.HeaderDataControls.test_header_vars_preserves_repeats_and_rejects_make) ... ok +test_tm_reordering_preserves_changed_macro_precedence (__main__.HeaderDataControls.test_tm_reordering_preserves_changed_macro_precedence) ... ok + +---------------------------------------------------------------------- +Ran 29 tests in 4.553s + +OK + diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/configured_data_v1.py b/research/h25-gcc-generated-config-data/unit03/gcc/configured_data_v1.py new file mode 100644 index 0000000000..4c257d5361 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/configured_data_v1.py @@ -0,0 +1,197 @@ +"""Bounded passive Debian/GCC configured-data readers. No source execution. + +Published generated headers remain data. This parser does not preprocess C, +execute make or shell commands, or return an effective GCC configuration. +""" +from __future__ import annotations +import hashlib +import io +import re +import tarfile +import gzip +import lzma +import bz2 +from dataclasses import dataclass + +MAX_COMPRESSED = 64 * 1024 * 1024 +MAX_DECOMPRESSED = 256 * 1024 * 1024 +MAX_MEMBERS = 16384 +MAX_MEMBER = 64 * 1024 * 1024 + + +class DataRefusal(ValueError): + pass + + +def digest(data: bytes) -> str: + return hashlib.sha256(data).hexdigest() + + +def debian_control(data: bytes) -> dict[str, str]: + """One unsigned retained control paragraph; duplicate fields are errors. + + Signed wrappers, a second paragraph and malformed continuations are refused. + This establishes parsing/identity only and never claims signature validity. + """ + if type(data) is not bytes or len(data) > 1024 * 1024 or b"\0" in data: + raise DataRefusal("control bound/type") + try: text = data.decode("utf-8", "strict") + except UnicodeError as error: raise DataRefusal("control encoding") from error + if text.startswith("-----BEGIN"): + raise DataRefusal("signed wrapper needs independent signature/wrapper handling") + fields, current, ended = {}, None, False + for number, raw in enumerate(text.split("\n"), 1): + line = raw[:-1] if raw.endswith("\r") else raw + if not line: + if fields: ended = True + continue + if ended: raise DataRefusal("multiple control paragraphs") + if line[0] in " \t": + if current is None: raise DataRefusal("orphan continuation") + fields[current] += "\n" + line[1:] + continue + match = re.fullmatch(r"([A-Za-z0-9][A-Za-z0-9-]*):(?:[ \t]?)(.*)", line) + if not match: raise DataRefusal("malformed control field at line " + str(number)) + current = match[1].lower() + if current in fields: raise DataRefusal("duplicate control field: " + current) + fields[current] = match[2] + if not fields: raise DataRefusal("empty control data") + return fields + + +def sha256_rows(fields: dict[str, str]) -> dict[str, tuple[int, str]]: + if "checksums-sha256" not in fields: raise DataRefusal("missing SHA256 section") + result = {} + for line in fields["checksums-sha256"].split("\n"): + if not line.strip(): continue + match = re.fullmatch(r"([0-9a-f]{64})[ \t]+([0-9]+)[ \t]+([^ \t/]+)", line) + if not match: raise DataRefusal("malformed SHA256 row") + hexdigest, raw_size, filename = match.groups() + if filename in result: raise DataRefusal("duplicate checksum filename: " + filename) + if filename in (".", "..") or "\0" in filename: raise DataRefusal("unsafe checksum filename") + size = int(raw_size) + if size > MAX_DECOMPRESSED: raise DataRefusal("checksum member size bound") + result[filename] = (size, hexdigest) + return result + + +def same_build_package(changes: bytes, buildinfo: bytes, filename: str, + expected_source: str, expected_version: str) -> dict: + first, second = debian_control(changes), debian_control(buildinfo) + for fields in (first, second): + if fields.get("source") != expected_source or fields.get("version") != expected_version: + raise DataRefusal("source/version association differs") + if "amd64" not in fields.get("architecture", "").split(): + raise DataRefusal("amd64 architecture missing") + one, two = sha256_rows(first), sha256_rows(second) + if filename not in one or filename not in two: raise DataRefusal("exact package filename absent") + if one[filename] != two[filename]: raise DataRefusal("changes/buildinfo package identity disagrees") + size, hexdigest = one[filename] + return {"filename": filename, "bytes": size, "sha256": hexdigest, + "changes_sha256": digest(changes), "buildinfo_sha256": digest(buildinfo), + "signature_verified": False, "association": "exact matching checksum rows in retained records"} + + +def strict_ar(data: bytes) -> list[dict]: + if type(data) is not bytes or len(data) > MAX_COMPRESSED or not data.startswith(b"!\n"): + raise DataRefusal("ar magic/type/size") + index, result, seen = 8, [], set() + while index < len(data): + header_start = index + if len(data) - index < 60: raise DataRefusal("truncated ar header") + header = data[index:index+60]; index += 60 + if header[58:60] != b"`\n": raise DataRefusal("ar header trailer") + raw_name = header[:16].rstrip(b" ") + if raw_name.startswith((b"#1/", b"/")): raise DataRefusal("extended ar names unsupported") + if raw_name.endswith(b"/"): raw_name = raw_name[:-1] + numeric={} + for label,field_start,field_end,base in (("timestamp",16,28,10),("uid",28,34,10), + ("gid",34,40,10),("mode",40,48,8)): + value=header[field_start:field_end].strip() + pattern=rb"[0-7]+" if base==8 else rb"[0-9]+" + if not re.fullmatch(pattern,value):raise DataRefusal("ar numeric metadata: "+label) + numeric[label]=int(value,base) + try: + name = raw_name.decode("ascii", "strict") + size_text = header[48:58].strip() + if not re.fullmatch(rb"[0-9]+", size_text): raise DataRefusal("ar size syntax") + size = int(size_text) + except UnicodeError as error: raise DataRefusal("ar name encoding") from error + if not re.fullmatch(r"[A-Za-z0-9_.+-]+", name) or name in (".", ".."): + raise DataRefusal("unsafe ar member") + if name in seen: raise DataRefusal("duplicate ar member: " + name) + seen.add(name) + if size > MAX_COMPRESSED or index + size > len(data): raise DataRefusal("truncated/oversize ar payload") + payload = data[index:index+size]; index += size + if size % 2: + if index >= len(data) or data[index:index+1] != b"\n": raise DataRefusal("ar alignment byte") + index += 1 + result.append({"name": name, "offset": header_start, "data_offset": header_start+60, + "bytes": size, "sha256": digest(payload), "data": payload, + "raw_header": header.hex(), **numeric}) + if not result or result[0]["name"] != "debian-binary" or result[0]["data"] != b"2.0\n": + raise DataRefusal("Debian format/version") + controls = [r for r in result if r["name"].startswith("control.tar")] + payloads = [r for r in result if r["name"].startswith("data.tar")] + if len(result) != 3 or len(controls) != 1 or len(payloads) != 1: + raise DataRefusal("Debian ar member topology") + return result + + +def decompress_member(name: str, data: bytes) -> bytes: + if len(data) > MAX_COMPRESSED: raise DataRefusal("compressed bound") + if name.endswith(".xz"): opener = lzma.LZMAFile + elif name.endswith(".gz"): opener = gzip.GzipFile + elif name.endswith(".bz2"): opener = bz2.BZ2File + elif name.endswith(".tar"): return data + else: raise DataRefusal("unsupported passive compression: " + name) + with opener(io.BytesIO(data), "rb") as stream: + result = stream.read(MAX_DECOMPRESSED + 1) + if len(result) > MAX_DECOMPRESSED: raise DataRefusal("decompressed bound") + return result + + +def safe_tar_name(name: str) -> str: + if "\0" in name or name.startswith("/") or "\\" in name: raise DataRefusal("unsafe tar member path") + while name.startswith("./"): name = name[2:] + pieces = name.rstrip("/").split("/") + if any(piece in ("", ".", "..") for piece in pieces): + if name in ("", "."): return "." + raise DataRefusal("unsafe/ambiguous tar member path") + return "/".join(pieces) + + +def strict_tar(data: bytes) -> list[dict]: + """Return raw member kind/alias records; never extract aliases to disk.""" + if type(data) is not bytes or len(data) > MAX_DECOMPRESSED: raise DataRefusal("tar bound/type") + result, seen, total, used_end = [], set(), 0, 0 + with tarfile.open(fileobj=io.BytesIO(data), mode="r:") as archive: + for member in archive: + if len(result) >= MAX_MEMBERS: raise DataRefusal("tar member count") + name = safe_tar_name(member.name) + if name in seen: raise DataRefusal("duplicate tar member path: " + name) + seen.add(name) + if member.size > MAX_MEMBER: raise DataRefusal("tar member byte bound") + total += member.size + if total > MAX_DECOMPRESSED: raise DataRefusal("tar aggregate byte bound") + kind = "file" if member.isfile() else ("directory" if member.isdir() else + ("symlink" if member.issym() else ("hardlink" if member.islnk() else "other"))) + record = {"path": name, "raw_path": member.name, "kind": kind, + "typeflag": member.type.hex(), "bytes": member.size, + "mode": member.mode, "uid": member.uid, "gid": member.gid, + "linkname": member.linkname, "header_offset": member.offset, + "data_offset": member.offset_data} + used_end=max(used_end,member.offset_data+((member.size+511)//512)*512) + if kind == "file": + stream = archive.extractfile(member) + if stream is None: raise DataRefusal("missing regular tar body") + body = stream.read(member.size + 1) + if len(body) != member.size: raise DataRefusal("truncated regular tar body") + record.update(data=body, sha256=digest(body)) + result.append(record) + # tarfile stops at an end marker. Authenticate that no hidden nonzero tail + # was silently ignored, retaining the original complete tar bytes in the + # enclosing package. A valid ustar/GNU archive supplies two zero blocks. + if len(data)%512 or len(data)-used_end<1024 or any(data[used_end:]): + raise DataRefusal("tar termination/padding or hidden nonzero tail") + return result diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/generated_config_v1.py b/research/h25-gcc-generated-config-data/unit03/gcc/generated_config_v1.py new file mode 100644 index 0000000000..ceeb633cc4 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/generated_config_v1.py @@ -0,0 +1,319 @@ +"""Exact published GCC generated-header data, with ordered conditional structure. + +This is a data parser, not a C preprocessor or an effective-configuration oracle. +Header guards, conditional branches and macro operations remain explicit. Object +build -D/-U/forced-include operations and complete query semantics remain open. +""" +from __future__ import annotations +import json +import posixpath +import re +import shlex +from pathlib import Path +from typing import Mapping +from configured_data_v1 import DataRefusal, digest, same_build_package + +PINSET_SHA256 = "c0c6890ff27c90b5a919d8943a707d49497aa05f1329d7ab5b06fbe95ab2e47d" +PACKAGE_SHA256 = "3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f" +PACKAGE = "gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb" +CHANGES_SHA256 = "db40bf0222e18a133216deb061955adc3a54ef4ff6e1b4fe469ff8c404422b61" +BUILDINFO_SHA256 = "6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83" +EMBEDDED_REPORT_SHA256 = "b02f8530e592eddeac5f86a2fb3a8ea80f25ac0e8ab2945fccb64a665b18d4cc" +COMPILER_PATH = "/usr/bin/x86_64-linux-gnu-gcc-13" +COMPILER_SHA256 = "1b99826121ae6682a634e5efe09bd3e3df58ce58e0b28f849114ab5b89139c26" +COMPILER_BYTES = 1023032 +COMPILER_BINDING_REPORT_SHA256 = "7ade5b65ff17b1a941bc768eb81aaffb986ba6b40fea689d3408f1889032b98f" +ROOTS = ("config.h", "auto-host.h", "configargs.h", "distro-defaults.h", + "options.h", "tm.h", "tm_p.h", "b-header-vars", "defaults.h") +MAX_HEADER = 8 * 1024 * 1024 +MAX_CORPUS = 64 * 1024 * 1024 +MAX_OPERATIONS = 65536 + + +def pinned_members() -> dict: + data = Path(__file__).with_name("header-member-pins-v1.json").read_bytes() + if digest(data) != PINSET_SHA256: raise DataRefusal("published header pinset changed") + pinset = json.loads(data) + if pinset.get("package_sha256") != PACKAGE_SHA256: raise DataRefusal("package pin differs") + return pinset + + +def verify_headers(headers: Mapping[str, bytes]) -> None: + expected = {row["path"]:row for row in pinned_members()["members"]} + if set(expected) != set(headers): raise DataRefusal("exact published header corpus differs") + total = 0 + for name, data in headers.items(): + if type(data) is not bytes or len(data)>MAX_HEADER: raise DataRefusal("header type/size") + total += len(data) + if (total>MAX_CORPUS or len(data)!=expected[name]["bytes"] + or digest(data)!=expected[name]["sha256"]): + raise DataRefusal("published generated/source header identity: "+name) + + +def load_headers(member_directory: str | Path) -> dict[str, bytes]: + pinset = pinned_members() + root = Path(member_directory) / pinset["member_root"] + result = {} + for row in pinset["members"]: + with (root / row["path"]).open("rb") as stream: + result[row["path"]] = stream.read(row["bytes"]+1) + verify_headers(result) + return result + + +def _splice_and_mask(data: bytes) -> tuple[str, list[int]]: + """C backslash-newline splicing and comment masking; retain physical origins.""" + if type(data) is not bytes or len(data)>MAX_HEADER or b"\0" in data: + raise DataRefusal("header syntax type/size") + if re.search(rb"\?\?[=/'()!<>-]",data): + raise DataRefusal("trigraph-bearing header requires separate lexical rule") + try: source=data.decode("utf-8", "strict") + except UnicodeError as error: raise DataRefusal("header encoding") from error + chars, origins, index, line = [], [], 0, 1 + while index < len(source): + if source.startswith("\\\n",index):index+=2;line+=1;continue + if source.startswith("\\\r\n",index):index+=3;line+=1;continue + char=source[index];chars.append(char);origins.append(line) + if char=="\n":line+=1 + index+=1 + source="".join(chars);out=list(source);index=0;quote=None + while index list[dict]: + """Return ordered literal directive data without evaluating C conditionals.""" + text, origins = _splice_and_mask(data) + operations, stack, offset = [], [], 0 + pieces=text.split("\n") + for piece_index,piece in enumerate(pieces): + logical=piece+("\n" if piece_index=MAX_OPERATIONS:raise DataRefusal("header operation bound") + record={"path":name,"line":physical,"kind":kind,"raw":raw, + "conditions":[dict(frame) for frame in stack]} + if kind in ("if","ifdef","ifndef"): + stack.append({"opening_kind":kind,"opening":raw,"line":physical, + "branch":"initial","branch_expression":raw}) + elif kind in ("else","elif"): + if not stack:raise DataRefusal("unmatched header conditional branch") + if stack[-1]["branch"]=="else":raise DataRefusal("branch after header else") + stack[-1]["branch"]=kind;stack[-1]["branch_expression"]=raw + elif kind=="endif": + if not stack:raise DataRefusal("unmatched header endif") + stack.pop() + elif kind in ("include","include_next"): + literal=re.fullmatch(r'"([^"\n]+)"|<([^>\n]+)>',raw) + record.update(literal=bool(literal),include_name=(literal[1] or literal[2]) if literal else None, + delimiter=("quote" if literal[1] else "angle") if literal else None) + elif kind=="define": + macro=re.match(r"([A-Za-z_]\w*)(.*)\Z",raw,re.S) + if not macro:raise DataRefusal("malformed header define") + record.update(name=macro[1],body=macro[2].lstrip(),function_like=macro[2].startswith("(")) + elif kind=="undef": + if not re.fullmatch(r"[A-Za-z_]\w*",raw):raise DataRefusal("malformed header undef") + record["name"]=raw + operations.append(record) + if stack:raise DataRefusal("unterminated header conditional") + return operations + + +_STRING = r'"(?:\\.|[^"\\])*"' + + +def c_string_sequence(text: str) -> str: + """Decode a deliberately small rejecting C literal grammar, never eval.""" + if type(text) is not str or len(text)>MAX_HEADER:raise DataRefusal("C string type/size") + result=[];index=0 + escapes={"n":"\n","r":"\r","t":"\t","v":"\v","b":"\b","f":"\f", + "a":"\a","\\":"\\",'"':'"',"'":"'","?":"?"} + while index=len(text):raise DataRefusal("truncated C escape") + char=text[index];index+=1 + if char in escapes:result.append(escapes[char]) + elif char in "01234567": + digits=char + while index255:raise DataRefusal("out-of-byte C octal escape") + result.append(chr(number)) + elif char=="x": + match=re.match(r"[0-9A-Fa-f]+",text[index:]) + if not match:raise DataRefusal("empty C hex escape") + number=int(match[0],16);index+=len(match[0]) + if number>255:raise DataRefusal("out-of-byte C hex escape") + result.append(chr(number)) + else:raise DataRefusal("unsupported C escape") + if index>=len(text):raise DataRefusal("unterminated C string") + index+=1 + return "".join(result) + + +def configargs(data: bytes) -> dict: + text,_=_splice_and_mask(data) + result={} + for name in ("configuration_arguments","thread_model"): + matches=list(re.finditer(r"\b"+name+r"\s*\[\s*\]\s*=\s*((?:"+_STRING+r"\s*)+)\s*;",text)) + if len(matches)!=1:raise DataRefusal("configargs literal initializer: "+name) + result[name]=c_string_sequence(matches[0][1]) + array=re.search(r"configure_default_options\s*\[\s*\]\s*=\s*\{(.*?)\};",text,re.S) + if not array:raise DataRefusal("configure default option array missing") + pair=re.compile(r"\{\s*("+_STRING+r")\s*,\s*("+_STRING+r")\s*\}") + remaining=pair.sub("",array[1]) + if remaining.replace(",","").strip():raise DataRefusal("nonliteral configure default option") + result["configure_default_options"]=[{"name":c_string_sequence(m[1]),"value":c_string_sequence(m[2])} + for m in pair.finditer(array[1])] + result["ordered_configure_argv"]=shlex.split(result["configuration_arguments"],posix=True) + result["interpretation"]="published literal data; shell quoting parsed without shell execution" + return result + + +def header_vars(data: bytes) -> dict[str,list[str]]: + if type(data) is not bytes or len(data)>MAX_HEADER:raise DataRefusal("header-vars bound/type") + result={};tokens=0 + text=data.decode("ascii","strict").replace("\\\n","") + for line in text.split("\n"): + if not line.strip():continue + match=re.fullmatch(r"([A-Z_][A-Z0-9_]*)=(.*)",line) + if not match or "$" in match[2] or "`" in match[2]:raise DataRefusal("nonliteral b-header-vars data") + if match[1] in result:raise DataRefusal("duplicate b-header-vars field") + result[match[1]]=match[2].split() + tokens+=len(result[match[1]]) + if len(result)>1024 or tokens>MAX_OPERATIONS:raise DataRefusal("b-header-vars representation bound") + return result + + +def package_include_graph(headers: Mapping[str,bytes], roots: tuple[str,...]) -> dict: + """Literal package-member relationships, not the compiler's search machine.""" + pending=list(roots);visited=set();edges=[];unresolved=[] + while pending: + name=pending.pop(0) + if name in visited:continue + if len(visited)>=1024:raise DataRefusal("package header graph node bound") + visited.add(name) + if name not in headers: + unresolved.append({"source":name,"reason":"root not in package members"});continue + for operation in header_operations(headers[name],name): + if operation["kind"] not in ("include","include_next"):continue + edge=dict(operation) + if operation["literal"] and operation["delimiter"]=="quote" and operation["kind"]=="include": + literal=operation["include_name"] + candidates=list(dict.fromkeys((posixpath.normpath(posixpath.join(posixpath.dirname(name),literal)),literal))) + present=[candidate for candidate in candidates if candidate in headers] + edge["package_member_candidates"]=present + if len(present)==1: + edge["package_member"]=present[0];pending.append(present[0]) + else:unresolved.append(edge) + else:unresolved.append(edge) + edges.append(edge) + return {"roots":list(roots),"visited_members":sorted(visited),"ordered_edges":edges, + "unresolved_or_external_edges":unresolved, + "conditional_branches_evaluated":False,"compiler_search_semantics_proven":False} + + +def construct_generated_config_view(headers: Mapping[str,bytes], changes: bytes, + buildinfo: bytes, embedded: bytes, + compiler_binding_report: bytes) -> dict: + verify_headers(headers) + if digest(changes)!=CHANGES_SHA256 or digest(buildinfo)!=BUILDINFO_SHA256: + raise DataRefusal("same version is not the pinned retained build") + association=same_build_package(changes,buildinfo,PACKAGE,"gcc-13","13.3.0-6ubuntu2~24.04.1") + if association["sha256"]!=PACKAGE_SHA256 or association["bytes"]!=1451870: + raise DataRefusal("exact pinned plugin package association differs") + arguments=configargs(headers["configargs.h"]) + if type(embedded) is not bytes or len(embedded)!=1727 or digest(embedded)!=EMBEDDED_REPORT_SHA256: + raise DataRefusal("exact retained embedded report identity differs") + reference=json.loads(embedded) + if (reference.get("path")!=COMPILER_PATH or reference.get("sha256")!=COMPILER_SHA256 + or reference.get("compiler_invoked") is not False + or reference.get("full_C05") is not False): + raise DataRefusal("embedded report original compiler binding differs") + if reference.get("matches")!=[arguments["configuration_arguments"]]: + raise DataRefusal("published configargs and pinned executable embedded text differ") + if (type(compiler_binding_report) is not bytes or len(compiler_binding_report)!=3437 + or digest(compiler_binding_report)!=COMPILER_BINDING_REPORT_SHA256): + raise DataRefusal("exact retained compiler package binding report differs") + binding_data=json.loads(compiler_binding_report) + member_rows=[member for package in binding_data["results"] + if package["package"]=="gcc-13-x86-64-linux-gnu_13.3.0-6ubuntu2~24.04.1_amd64.deb" + and package["source_execution"] is False + for member in package["selected_pinned_members"] if member["path"]==COMPILER_PATH] + if len(member_rows)!=1:raise DataRefusal("unique original compiler member binding missing") + compiler_member=member_rows[0] + if (compiler_member["sha256"]!=COMPILER_SHA256 or compiler_member["expected_sha256"]!=COMPILER_SHA256 + or compiler_member["bytes"]!=COMPILER_BYTES or compiler_member["expected_bytes"]!=COMPILER_BYTES + or compiler_member["matches_pin"] is not True): + raise DataRefusal("original compiler package member hash/size binding differs") + operations={name:header_operations(headers[name],name) for name in ROOTS if name!="b-header-vars"} + distro=[operation for operation in operations["distro-defaults.h"] if operation["kind"] in ("define","undef")] + tm=[operation for operation in operations["tm.h"] if operation["kind"] in ("include","include_next")] + target_defaults=[operation for operation in operations["tm.h"] if operation["kind"]=="define"] + relevant=("ENABLE_DEFAULT_PIE","HAVE_LD_SYSROOT","HAVE_LTO_PLUGIN","HAVE_GNU_LD", + "HAVE_GNU_AS","CROSS_DIRECTORY_STRUCTURE","DEFAULT_LINKER","TARGET_SYSTEM_ROOT", + "STANDARD_EXEC_PREFIX","STANDARD_LIBEXEC_PREFIX","GCC_INCLUDE_DIR","NATIVE_SYSTEM_HEADER_DIR") + host_cells={name:[operation for operation in operations["auto-host.h"] + if operation.get("name")==name and operation["kind"] in ("define","undef")] + for name in relevant} + var_data=header_vars(headers["b-header-vars"]) + graph=package_include_graph(headers,("config.h","tm.h","tm_p.h","distro-defaults.h")) + required={name:{"bytes":len(headers[name]),"sha256":digest(headers[name])} for name in ROOTS} + residual=[ + {"cell":"final-installed-gcc.o DRIVER_DEFINES","status":"UNAVAILABLE_BUILDLOG_HTTP503","needed":"ordered compiled -D/-U operations, forced includes, prefixes/target/version/CONFIGURE_SPECS; final installed-stage chain"}, + {"cell":"final-installed-cppdefault.o/cppbuiltin.o PREPROCESSOR_DEFINES","status":"UNAVAILABLE_BUILDLOG_HTTP503","needed":"actual include-root, sysroot and relevant feature definitions; no template substitution"}, + {"cell":"final-installed-prefix.o and collect2.o definitions","status":"UNAVAILABLE_BUILDLOG_HTTP503","needed":"PREFIX/version and configured collect2 program/sysroot choices with final-stage provenance"}, + {"cell":"specs.h lang_specs_files expansion","status":"NOT_IN_PLUGIN_AND_LOG_UNAVAILABLE","needed":"ordered generated language-spec include list or complete source derivation"}, + {"cell":"multilib.h tables/genmultilib inputs","status":"NOT_IN_PLUGIN_AND_LOG_UNAVAILABLE","needed":"actual generated tables or all eleven configured genmultilib inputs"}, + {"cell":"option initialisation","status":"DECLARATIONS_OBSERVED_INITIALISERS_OPEN","needed":"options.h is observed; relevant generated initialisers/decoding remain necessary"}, + {"cell":"query-producing semantics and installed correspondence","status":"OPEN","needed":"applied source, ordered phase/query rules, external specs, full preprocessing/PCH/tool closure, actual namespace observations and interval"}] + return {"schema":"unit03-published-generated-config-view-v1","same_build_package":association, + "header_pinset_sha256":PINSET_SHA256,"header_member_count":len(headers),"required_members":required, + "configuration_arguments":arguments,"configure_text_matches_pinned_embedded_report":True, + "embedded_report_binding":{"report_sha256":EMBEDDED_REPORT_SHA256,"report_bytes":len(embedded), + "reported_compiler_path":COMPILER_PATH,"reported_compiler_sha256":COMPILER_SHA256, + "live_compiler_rehashed_in_this_unit":False,"compiler_executed_in_this_unit":False, + "scope":reference["scope"],"claim":"literal configure data equals the exact retained report; no complete installed-query semantics proof"}, + "retained_compiler_member_binding":{"report_sha256":COMPILER_BINDING_REPORT_SHA256, + "report_bytes":len(compiler_binding_report),"member":dict(compiler_member), + "scope":binding_data["claims"],"fresh_observation_in_this_unit":False}, + "ordered_tm_header_operations":tm,"ordered_tm_default_define_operations":target_defaults, + "observed_distro_macro_operations":distro,"observed_host_macro_cells":host_cells, + "selected_b_header_vars":{name:var_data[name] for name in ("CONFIG_H","TM_H","GTM_H","TM_P_H")}, + "package_literal_header_graph":graph,"generated_options_declarations_sha256":digest(headers["options.h"]), + "source_build_status":"exact publisher/build checksum association and observed generated bytes; no regeneration or complete installed-query equivalence claim", + "residual_configuration_cells":residual,"effective_configuration":False,"full_C05":False,"full_V03":False, + "original_execution":False,"new_scientific_activity_credit":0,"physical_costs":"OPEN_NOT_ZERO"} + + +def require_effective_configuration(*args,**kwargs): + view=construct_generated_config_view(*args,**kwargs) + raise DataRefusal("effective GCC configuration remains unproved: "+ + ", ".join(row["cell"] for row in view["residual_configuration_cells"])) diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/header-member-pins-v1.json b/research/h25-gcc-generated-config-data/unit03/gcc/header-member-pins-v1.json new file mode 100644 index 0000000000..784c168d51 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/header-member-pins-v1.json @@ -0,0 +1,3311 @@ +{ + "member_root": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/", + "members": [ + { + "bytes": 4978, + "kind": "file", + "mode": 420, + "path": "ada/gcc-interface/ada-tree.def", + "sha256": "023fa7450452b94ef3d2c508b2a378e59d8688f30699769ce0ed6d2bfeceac48" + }, + { + "bytes": 2945, + "kind": "file", + "mode": 420, + "path": "addresses.h", + "sha256": "f3d9edb2e4328d6c9619e835b87b5e3f6e14d4ede997bbb73d1bff083c80bc00" + }, + { + "bytes": 2184, + "kind": "file", + "mode": 420, + "path": "alias.h", + "sha256": "c5b72a9516a7eca30a957d1f76cc7c8a932e0a28583b3098e99375a9b25f5c88" + }, + { + "bytes": 2507, + "kind": "file", + "mode": 420, + "path": "align.h", + "sha256": "4c9ae2bac830bd5024c670a17296f902aa9bba4584c30317f02eb5fbcb1526e7" + }, + { + "bytes": 224, + "kind": "file", + "mode": 420, + "path": "all-tree.def", + "sha256": "bcad5255616b42ac69bbb250184c8cce7e020d1330397fd22d78c8daea826a15" + }, + { + "bytes": 15524, + "kind": "file", + "mode": 420, + "path": "alloc-pool.h", + "sha256": "536ca12849b965f7516424aff8e05cbbb54b802eb29c92f548af3217c3fcde32" + }, + { + "bytes": 11777, + "kind": "file", + "mode": 420, + "path": "ansidecl.h", + "sha256": "06716406a6cd33f5bf987864ce2ffe27a5977393bfb28b7ce87621a67e05f91d" + }, + { + "bytes": 1535, + "kind": "file", + "mode": 420, + "path": "array-traits.h", + "sha256": "af336c61ed00f1362de0043ceb92f06fe5f7360f2f4a11bfb5c8ba92702fd57e" + }, + { + "bytes": 8837, + "kind": "file", + "mode": 420, + "path": "asan.h", + "sha256": "7c9f6f7fe091d89eb48ead7aaf5bc26a177a90c4e76739e1839c88cfbb70f023" + }, + { + "bytes": 8716, + "kind": "file", + "mode": 420, + "path": "attr-fnspec.h", + "sha256": "f45972c3926988376dacf76a0003996a5a7a1dd26397380774d9c810aae3eab7" + }, + { + "bytes": 13872, + "kind": "file", + "mode": 420, + "path": "attribs.h", + "sha256": "ce4072bfd29536a4b8e91c985f19ae31a3b7650b4f0ce2f06c291551693b0d77" + }, + { + "bytes": 59854, + "kind": "file", + "mode": 420, + "path": "auto-host.h", + "sha256": "9ada1fb9d8c6f4d39e950fc3dfcefb81767c418d924a7e254774bda30e5a4537" + }, + { + "bytes": 1143, + "kind": "file", + "mode": 420, + "path": "auto-profile.h", + "sha256": "8527a175c79dba1a8a8f77b128e6cd4adf210d6a13bf7f21324f2a75044bdcfa" + }, + { + "bytes": 40843, + "kind": "file", + "mode": 420, + "path": "b-header-vars", + "sha256": "2af4b5b1ac67ee4075226fe87c19e0926c430c9e560034da071e6581902623a5" + }, + { + "bytes": 1067, + "kind": "file", + "mode": 420, + "path": "backend.h", + "sha256": "a769348fbcf2cc4f62cb4104535b37328472ff6679e9d4ebd7525a91b1ac4f9f" + }, + { + "bytes": 18619, + "kind": "file", + "mode": 420, + "path": "basic-block.h", + "sha256": "f2619ee16c3a42f950b0b427af2956dcbf2a22fb7041fd43b529331fbd3ca4bf" + }, + { + "bytes": 1277, + "kind": "file", + "mode": 420, + "path": "bb-reorder.h", + "sha256": "e7d3be61e74749602b32d77554f5d56de18f5ef167867b250e482e64406a8f17" + }, + { + "bytes": 37570, + "kind": "file", + "mode": 420, + "path": "bitmap.h", + "sha256": "fdd9be6d48e92ca2fcd053c56c3e746d120745f51fe1acbc1f4490ffb54156db" + }, + { + "bytes": 20110, + "kind": "file", + "mode": 420, + "path": "builtin-attrs.def", + "sha256": "fdc2318336bbbd9a51502898c6b46e625ead62fe907aad576f35f7569fd8b26a" + }, + { + "bytes": 53342, + "kind": "file", + "mode": 420, + "path": "builtin-types.def", + "sha256": "a7e984fe65c232e518c037d5bb4d16cf74e8f81738eed401492248b164196264" + }, + { + "bytes": 95755, + "kind": "file", + "mode": 420, + "path": "builtins.def", + "sha256": "bbd89bafc02c73b4ec6b15b4322fc517fa8fe58ded45a747892b0e4f12d78d0b" + }, + { + "bytes": 7200, + "kind": "file", + "mode": 420, + "path": "builtins.h", + "sha256": "15c5c27a7b2e9be79373d761604f12a4ed74d3504778d4a2469f0356807fca79" + }, + { + "bytes": 171, + "kind": "file", + "mode": 420, + "path": "bversion.h", + "sha256": "8ad05936a160214baea3c8aadede4475fdf3ece6962f85e61e962fd6590b11ef" + }, + { + "bytes": 4172, + "kind": "file", + "mode": 420, + "path": "c-family/c-common.def", + "sha256": "4385cc13d39e61053458f6d79ab7626c136c03b58976d613a33732351c295f18" + }, + { + "bytes": 59318, + "kind": "file", + "mode": 420, + "path": "c-family/c-common.h", + "sha256": "d5498885fbcd854b4c26f557501490d5e00b40c549270d10b7bc11a9320ed7f7" + }, + { + "bytes": 8033, + "kind": "file", + "mode": 420, + "path": "c-family/c-objc.h", + "sha256": "460eb8b3721b06a7d87e4f19083d96ba7a78a56ab312b5a68d659ec42420195a" + }, + { + "bytes": 9549, + "kind": "file", + "mode": 420, + "path": "c-family/c-pragma.h", + "sha256": "14a75ae7cdb8b0e84b4269f0afb2f8dbf429e840ec42f609511602da8e8da98a" + }, + { + "bytes": 5324, + "kind": "file", + "mode": 420, + "path": "c-family/c-pretty-print.h", + "sha256": "fc1bd1ad525e0ee3b6b481b8038aad31b98fe8dbebb1f3ffcea9e75987c45d82" + }, + { + "bytes": 35134, + "kind": "file", + "mode": 420, + "path": "c-tree.h", + "sha256": "bdd621639433a009ef8ab0204f78ba4020c9f6357b246234f6bf3939017cceaa" + }, + { + "bytes": 5291, + "kind": "file", + "mode": 420, + "path": "calls.h", + "sha256": "188f6dd04a978928c8ef21b6a6ec30b467d57da3e3b1c8d9828aa1023a32d830" + }, + { + "bytes": 845, + "kind": "file", + "mode": 420, + "path": "ccmp.h", + "sha256": "84864c1ceac3d4e5a8dcde662ce2ca9652fa687d7df61c1b1a73d68193b874ef" + }, + { + "bytes": 6828, + "kind": "file", + "mode": 420, + "path": "cfg-flags.def", + "sha256": "f5566f1fab9f1589b2c7b9d96c9b73dcbc02523f686bc264d07c3d03a9efd8fb" + }, + { + "bytes": 6429, + "kind": "file", + "mode": 420, + "path": "cfg.h", + "sha256": "2288eb67df53ccfcdff79d0a9d8fb690f06c2de84e5bd5c2c1b307f371c635b6" + }, + { + "bytes": 3473, + "kind": "file", + "mode": 420, + "path": "cfganal.h", + "sha256": "9d1626ebff3462fc9b4f8518ea47992e84dd112f63fe6e6b7fe31270ddcdecc5" + }, + { + "bytes": 1016, + "kind": "file", + "mode": 420, + "path": "cfgbuild.h", + "sha256": "75674de6ab66278b0b0991e2ba376482c273b2f7e8d025650a85e5285a2b598e" + }, + { + "bytes": 1303, + "kind": "file", + "mode": 420, + "path": "cfgcleanup.h", + "sha256": "cb1dfd9de683927cbaae3e207f0aa98aeb07cab5147180017dd7a11cc9fc8a78" + }, + { + "bytes": 966, + "kind": "file", + "mode": 420, + "path": "cfgexpand.h", + "sha256": "d9b617983dc0a9ab8d4b648c63ff0b633b7e2f81768cde0dc36368f46c34e3a1" + }, + { + "bytes": 11428, + "kind": "file", + "mode": 420, + "path": "cfghooks.h", + "sha256": "1fdd54693186cb5c8abf38667ac146e94bc69164049da65bd34275b7fcf85da0" + }, + { + "bytes": 27914, + "kind": "file", + "mode": 420, + "path": "cfgloop.h", + "sha256": "fe09467eea2c176f44e53a0d369d18ad6a489620dd18b426d1d3c40e6f095167" + }, + { + "bytes": 2499, + "kind": "file", + "mode": 420, + "path": "cfgloopmanip.h", + "sha256": "d5287436e49903f67cfbb8137e0a028a5a541df43b0252023d37ae17a9491226" + }, + { + "bytes": 2688, + "kind": "file", + "mode": 420, + "path": "cfgrtl.h", + "sha256": "3ccab97cd645994aecb66045edb13b71017dbf012ee086b97cd6dcb22781be99" + }, + { + "bytes": 124842, + "kind": "file", + "mode": 420, + "path": "cgraph.h", + "sha256": "77b643cde2dc6c81e6e28d3265c05dd1ddb4c99d9b37841901a35edc08e8e612" + }, + { + "bytes": 5632, + "kind": "file", + "mode": 420, + "path": "cif-code.def", + "sha256": "f27acb01a17cc0c62c01aa4982155115bfd69deeec1766e3c26cd630973d2405" + }, + { + "bytes": 1694, + "kind": "file", + "mode": 420, + "path": "collect-utils.h", + "sha256": "69db322f7d423f2e7bfcdf0ccae1c90c3853c69ac8c209c0e894d6784f0d19b7" + }, + { + "bytes": 8594, + "kind": "file", + "mode": 420, + "path": "collect2-aix.h", + "sha256": "7870fdbea37370be7ec92824a4fe4e7c24bfe62767b448801efccfa0f83df7bd" + }, + { + "bytes": 1308, + "kind": "file", + "mode": 420, + "path": "collect2.h", + "sha256": "ffc4a02f68215b91971535d2569ddb46c65626f83aad16bb9d7cc5e31280e10d" + }, + { + "bytes": 4891, + "kind": "file", + "mode": 420, + "path": "color-macros.h", + "sha256": "baa85177f344454041d22b1147ed169ab68064beb0cd4a7adfc8fcbeefca7b3f" + }, + { + "bytes": 6023, + "kind": "file", + "mode": 420, + "path": "common/config/i386/i386-cpuinfo.h", + "sha256": "5bab14b3fb8ef807879c249b52041d158c3983e5c149f175cdc7aacb865f188a" + }, + { + "bytes": 2766, + "kind": "file", + "mode": 420, + "path": "conditions.h", + "sha256": "15954fefc8d00dd5d2a3ceaf17f957a78bcf08ca25681703fba345649bf4c97a" + }, + { + "bytes": 17996, + "kind": "file", + "mode": 420, + "path": "config/elfos.h", + "sha256": "255fe5da07efc03e66574ab45a1c92deb4ed7cc064f83677e1cae109065b8354" + }, + { + "bytes": 2854, + "kind": "file", + "mode": 420, + "path": "config/glibc-stdint.h", + "sha256": "45e61be0214122daed3ce73a9edec9709c8d1b191a424ed6efd6db4d5b31f032" + }, + { + "bytes": 6054, + "kind": "file", + "mode": 420, + "path": "config/gnu-user.h", + "sha256": "8f3518bc748dd1f7c1f19bcc2d59201405b5a599820256ff1ecdf9ea63392daf" + }, + { + "bytes": 3186, + "kind": "file", + "mode": 420, + "path": "config/i386/att.h", + "sha256": "48cc90a7598d0ab51a85b0cf3143f187610754da7c47ecd9ac463f2c9d5cec29" + }, + { + "bytes": 1293, + "kind": "file", + "mode": 420, + "path": "config/i386/biarch64.h", + "sha256": "a6fe8538bcc4db531f57ddb5b80d28e09b05c875e497f58542ff7fa4252cdfef" + }, + { + "bytes": 2629, + "kind": "file", + "mode": 420, + "path": "config/i386/gnu-user-common.h", + "sha256": "14a738ecc63fc02ceb153060c87722d3417ebf5564ca7889f2f27c742f20285c" + }, + { + "bytes": 3309, + "kind": "file", + "mode": 420, + "path": "config/i386/gnu-user64.h", + "sha256": "5507732a24911a39abbf7d2526fd8c1b09db98c0519b7388b7143a3c01bdbccb" + }, + { + "bytes": 2399, + "kind": "file", + "mode": 420, + "path": "config/i386/i386-isa.def", + "sha256": "d4d39a44bc16d20dc2c8a10ad4b70156a548e2d38a32fda01811a253d8f4952a" + }, + { + "bytes": 3322, + "kind": "file", + "mode": 420, + "path": "config/i386/i386-opts.h", + "sha256": "84ae505f2aeabbece530164dbefa82465b943331e490bb73ce40d088d9879ce9" + }, + { + "bytes": 17536, + "kind": "file", + "mode": 420, + "path": "config/i386/i386-protos.h", + "sha256": "d5a24ab0e669449ec51b483c5472cdf185ce5804c56d014103cee611eabc65df" + }, + { + "bytes": 113489, + "kind": "file", + "mode": 420, + "path": "config/i386/i386.h", + "sha256": "55f2cea099e92f2bc0649599d708726fab531a10e9ee15456af35a4975599d21" + }, + { + "bytes": 2346, + "kind": "file", + "mode": 420, + "path": "config/i386/linux-common.h", + "sha256": "eb6e3de8ee383f691f2b83c0cdafe8f1687c06c703f0854623dc71569304622b" + }, + { + "bytes": 1669, + "kind": "file", + "mode": 420, + "path": "config/i386/linux64.h", + "sha256": "9007684d92746203c280b53a69debfff75851e31c1cd9ce6cd5c61f705d5179c" + }, + { + "bytes": 1040, + "kind": "file", + "mode": 420, + "path": "config/i386/stringop.def", + "sha256": "ca5f3b59774dade073e1fc95a86c933634b8407437f250a7882fa762967f158d" + }, + { + "bytes": 2878, + "kind": "file", + "mode": 420, + "path": "config/i386/unix.h", + "sha256": "f6896474c5b3fbc38927276acb79abc519e71b98bba82a614cd05052c24cee28" + }, + { + "bytes": 2982, + "kind": "file", + "mode": 420, + "path": "config/i386/x86-64.h", + "sha256": "fecefad6255ddd8d60d9f3b546024a93db37dce7ccf277668de35336ce837471" + }, + { + "bytes": 33406, + "kind": "file", + "mode": 420, + "path": "config/i386/x86-tune.def", + "sha256": "864bcae5ff7ba9991e056b5b8dbbe257b2169ac2996bfcd65aab3e80054f9bf3" + }, + { + "bytes": 1625, + "kind": "file", + "mode": 420, + "path": "config/initfini-array.h", + "sha256": "3b824fa8ab2a86c5b8e5a72b4c868e569780d5e867d80755538e483cdf04b4ab" + }, + { + "bytes": 1947, + "kind": "file", + "mode": 420, + "path": "config/linux-android.h", + "sha256": "875e34fffe6e6bf06cecb83c1edfc221c6bb61a096ef38c60abe63914c72d297" + }, + { + "bytes": 811, + "kind": "file", + "mode": 420, + "path": "config/linux-protos.h", + "sha256": "4240c4b506975f484248da9a3c668aacd837dba532be7d6d174f40405c9561af" + }, + { + "bytes": 8504, + "kind": "file", + "mode": 420, + "path": "config/linux.h", + "sha256": "ce71be1f80fac59483042c6dd421bd267765c44f977505955b2718e30da612c4" + }, + { + "bytes": 1611, + "kind": "file", + "mode": 420, + "path": "config/vxworks-dummy.h", + "sha256": "f86e24a101cf141fab63458b812e0aed5bde16850a24d1045f6cebbc2977f3cc" + }, + { + "bytes": 217, + "kind": "file", + "mode": 420, + "path": "config.h", + "sha256": "41150681fe15436d17aa3a0b45b57345a65238fb945b14b0ca2bdf857e723e48" + }, + { + "bytes": 1640, + "kind": "file", + "mode": 420, + "path": "configargs.h", + "sha256": "987c0a46b31907a609c15c749988921053bdf81e77d3a695c981d7be7a9378fc" + }, + { + "bytes": 1732, + "kind": "file", + "mode": 420, + "path": "context.h", + "sha256": "aafa561687a1cc40f753d8085f357a82db14b291f195e98f7409606439004c94" + }, + { + "bytes": 1848, + "kind": "file", + "mode": 420, + "path": "convert.h", + "sha256": "b37b99a1b2bb94e6267ac860b76683eea2ce19e53b51ec0899ac5b1c5b97b2c2" + }, + { + "bytes": 15197, + "kind": "file", + "mode": 420, + "path": "coretypes.h", + "sha256": "169d3b325ba9957aa6dc3953bb26dfed3bed2618950585f1891d4ab9375def21" + }, + { + "bytes": 1927, + "kind": "file", + "mode": 420, + "path": "coroutine-builtins.def", + "sha256": "9b7e57e064c7740d204e9bc19eda510646e3a0801978770e8eef3bf124e662a9" + }, + { + "bytes": 2308, + "kind": "file", + "mode": 420, + "path": "coverage.h", + "sha256": "5e566a797e02c4abd09b0102310950625e8d325264a17fdbb0817448ca99bbf1" + }, + { + "bytes": 9714, + "kind": "file", + "mode": 420, + "path": "cp/contracts.h", + "sha256": "35d2eb58bf53d383c73d7c362148c2ff354fb2691ac0a86e65562757bf6ffdeb" + }, + { + "bytes": 4936, + "kind": "file", + "mode": 420, + "path": "cp/cp-trait.def", + "sha256": "c2ed08f00e4a126eb18bb8668fa966d8d66ebfdc57f65dcc4a66b607f0b3c252" + }, + { + "bytes": 27148, + "kind": "file", + "mode": 420, + "path": "cp/cp-tree.def", + "sha256": "a3d582ccb91cae886555cfe3541283787a2659c1b310d5a4fed427cd54120563" + }, + { + "bytes": 350792, + "kind": "file", + "mode": 420, + "path": "cp/cp-tree.h", + "sha256": "78c10c94738de11dae4cba0de0e6c81b3f8f4431ca9b2b916d5812663af1020c" + }, + { + "bytes": 4883, + "kind": "file", + "mode": 420, + "path": "cp/cxx-pretty-print.h", + "sha256": "533988176d9313b5e081e45c52f0ef1a86e9d518548fdf1f2ae56f2ff71b1a2f" + }, + { + "bytes": 18488, + "kind": "file", + "mode": 420, + "path": "cp/name-lookup.h", + "sha256": "3c012c6827b6efa1c9477ecb59b3147036888f0e0183614ef3a7847bad5c89b4" + }, + { + "bytes": 6848, + "kind": "file", + "mode": 420, + "path": "cp/operators.def", + "sha256": "5b3199c6d97f307cb6bbb296e30f7518900548c12d1c8f45699e4e54bd40d2a1" + }, + { + "bytes": 1877, + "kind": "file", + "mode": 420, + "path": "cp/type-utils.h", + "sha256": "3d0f20f1400cbef0786ee4871e656a20a4ab80315641b11e4efddaa79c016888" + }, + { + "bytes": 1174, + "kind": "file", + "mode": 420, + "path": "cppbuiltin.h", + "sha256": "172a64e3f9a2dc4d2b05bcb3e16716336160ebd801cc17bbde02c81232a9407f" + }, + { + "bytes": 2987, + "kind": "file", + "mode": 420, + "path": "cppdefault.h", + "sha256": "d105e4f83c7403684db87493b30f52304d6a7c4a3ada1f56d3d2fa1d565e007c" + }, + { + "bytes": 57534, + "kind": "file", + "mode": 420, + "path": "cpplib.h", + "sha256": "2b9fc43ca45c7d844989c3a04dc311885a3b3537d25166d293a0ec092461bdc0" + }, + { + "bytes": 4592, + "kind": "file", + "mode": 420, + "path": "cselib.h", + "sha256": "3e3f877bf198338a5bec51c76e87351f246abb69088e7531fef51db2c80e7c84" + }, + { + "bytes": 15687, + "kind": "file", + "mode": 420, + "path": "ctfc.h", + "sha256": "96197421f357e1e3b007a1757b6f77bb3d76800f453527fb62f547523669d3bc" + }, + { + "bytes": 1386, + "kind": "file", + "mode": 420, + "path": "d/d-tree.def", + "sha256": "a07d2e1d5354fef980d33ad14614b445cb1246e3b3222d8dc27eb443f502d484" + }, + { + "bytes": 10999, + "kind": "file", + "mode": 420, + "path": "data-streamer.h", + "sha256": "e5b02a3dfb361820a5b24fc1710b38666626cc13fb78311332d1ae601a13a873" + }, + { + "bytes": 6668, + "kind": "file", + "mode": 420, + "path": "dbgcnt.def", + "sha256": "68d2ba3391fbcd277d748eecd075b18f8610539a7c4600ac49dbd46b18a17cfc" + }, + { + "bytes": 1229, + "kind": "file", + "mode": 420, + "path": "dbgcnt.h", + "sha256": "e5f9da2c42dfc0ce09a321a7fb324a63b0ff6c789d761191be58c1c8af7b8e05" + }, + { + "bytes": 877, + "kind": "file", + "mode": 420, + "path": "dce.h", + "sha256": "0d029fe1379ceed3849f271390cc12c98359a16631da462f8ba5f12c9131bec8" + }, + { + "bytes": 5459, + "kind": "file", + "mode": 420, + "path": "ddg.h", + "sha256": "2b647e04c726df5ed328fde718ce5b996366831578c0d1591bf38620be092a06" + }, + { + "bytes": 11479, + "kind": "file", + "mode": 420, + "path": "debug.h", + "sha256": "d3ce98401f5216d6ff167a2701ac6547ef332e1a98eb933778526dd866b6aced" + }, + { + "bytes": 42136, + "kind": "file", + "mode": 420, + "path": "defaults.h", + "sha256": "012ff1fece4d6d52b00647a49472045054094afa11637d7d5fdaced73ab95eae" + }, + { + "bytes": 48230, + "kind": "file", + "mode": 420, + "path": "df.h", + "sha256": "ce939e0a7ae288d5d5ed39993f69eca3b2696f8fd9d3d7ba1c8382a6a98fb14f" + }, + { + "bytes": 2361, + "kind": "file", + "mode": 420, + "path": "dfp.h", + "sha256": "6550085e484d044a7f674ada222696b618520b3028cf2d5916a2e36916d523aa" + }, + { + "bytes": 3567, + "kind": "file", + "mode": 420, + "path": "diagnostic-client-data-hooks.h", + "sha256": "8470edd627b9faa12436145be03125fb8d6359804f88d267056434bb9c1d4cca" + }, + { + "bytes": 2302, + "kind": "file", + "mode": 420, + "path": "diagnostic-color.h", + "sha256": "0f84d9affbe4c7be3f20b7594db32ac7a8b8b1a5ab6e90045b6e6eeef9cf2bdb" + }, + { + "bytes": 5214, + "kind": "file", + "mode": 420, + "path": "diagnostic-core.h", + "sha256": "2a5d445b78fc1981fc32e9b1ec2ed84b26f7009459b05dc8086bb9dec2002a54" + }, + { + "bytes": 2084, + "kind": "file", + "mode": 420, + "path": "diagnostic-event-id.h", + "sha256": "8f33443da1ae6a5b747ceb0a43f824a65ee10c5205ec3a8ce5909244300aa08d" + }, + { + "bytes": 2270, + "kind": "file", + "mode": 420, + "path": "diagnostic-metadata.h", + "sha256": "aba695214641b9efe0623f1e9ab999d116912405a5cdccdf3f3b3dd3671b7983" + }, + { + "bytes": 6885, + "kind": "file", + "mode": 420, + "path": "diagnostic-path.h", + "sha256": "e97bc1cab6272b6aebeefabf0e53e6fbed508bcd82cb90b4fa814a3e92ebdab9" + }, + { + "bytes": 3628, + "kind": "file", + "mode": 420, + "path": "diagnostic-spec.h", + "sha256": "0be5036f3162914a45a387f325f24ef7c00491f53f232053e9ac6e6c16827f05" + }, + { + "bytes": 1587, + "kind": "file", + "mode": 420, + "path": "diagnostic-url.h", + "sha256": "0e6546e3a19732b9522a15a54aa56f5e0c76ed691cb152ce96f2fd7b3f0926a8" + }, + { + "bytes": 2645, + "kind": "file", + "mode": 420, + "path": "diagnostic.def", + "sha256": "d13eaa301a150ba0415fb5cd8f5f22e001bdabccadb7b3a4a6b02dbaa42cd909" + }, + { + "bytes": 22673, + "kind": "file", + "mode": 420, + "path": "diagnostic.h", + "sha256": "94781ae0ab138d083f6679a1521071723de43930ad8ee077d58b2c165bbf4242" + }, + { + "bytes": 6740, + "kind": "file", + "mode": 420, + "path": "digraph.h", + "sha256": "5e6c941c7cfd22065c77c2d1f17af5c2658544e28805c7c3aabeb3f7da0d6d94" + }, + { + "bytes": 488, + "kind": "file", + "mode": 420, + "path": "distro-defaults.h", + "sha256": "2ccde3e3cbe4fc9fba8da310295f775d5bd77d9742090f74708f4ff24f683f6d" + }, + { + "bytes": 3015, + "kind": "file", + "mode": 420, + "path": "dojump.h", + "sha256": "b1ed271ed0b8aa8a93f57d8977709d60a210c12b6cffadd8d6bf57dde9fe5b0f" + }, + { + "bytes": 3653, + "kind": "file", + "mode": 420, + "path": "dominance.h", + "sha256": "961c8c913939e13d4852f3a570366c29fefdd40f0964dec97ee505f647586b8f" + }, + { + "bytes": 4558, + "kind": "file", + "mode": 420, + "path": "domwalk.h", + "sha256": "db08d680f9cdc82f5e28833151567a9d08822b83bb400427d085d870a0dc809b" + }, + { + "bytes": 13501, + "kind": "file", + "mode": 420, + "path": "double-int.h", + "sha256": "82206f0bf9b69a31fc1a3b12fd8f49a872e58db4df289106580356a6fb688c06" + }, + { + "bytes": 9321, + "kind": "file", + "mode": 420, + "path": "dump-context.h", + "sha256": "17d8b5525f58ed35c4464cdade8e6464ef9dee9ef256a0eccc4eaeeddc520ed2" + }, + { + "bytes": 23434, + "kind": "file", + "mode": 420, + "path": "dumpfile.h", + "sha256": "9d27e3418748299347a59ab42ff93c640e520ea31e0c3c76c61f5b5f93654086" + }, + { + "bytes": 3153, + "kind": "file", + "mode": 420, + "path": "dwarf2asm.h", + "sha256": "1f6bf7e4d5ae00679873a10a3fe49b988fa4639b7260f875fb11230749d0c99c" + }, + { + "bytes": 1993, + "kind": "file", + "mode": 420, + "path": "dwarf2ctf.h", + "sha256": "c114e1458772074b645a9f8c631afc9beffd0e229223576c3cdb340ab1827a2e" + }, + { + "bytes": 16250, + "kind": "file", + "mode": 420, + "path": "dwarf2out.h", + "sha256": "0303929170f719d93b6cdfb7087ad5382cda932518e1d46adf044675194f9936" + }, + { + "bytes": 2189, + "kind": "file", + "mode": 420, + "path": "edit-context.h", + "sha256": "e98acf62a5e89d7bad5fc45b533abf35de9d9020217aec6f93bdbee51a7cf667" + }, + { + "bytes": 20076, + "kind": "file", + "mode": 420, + "path": "emit-rtl.h", + "sha256": "56b4b8df8e0985a35eccff9695b2b8da669369a358d36f50f82e82e9305cfc39" + }, + { + "bytes": 1596, + "kind": "file", + "mode": 420, + "path": "errors.h", + "sha256": "dfe0ce5c23a94e691cfc94d3a0acae1ae2dcc9b237b6ff7e1944429a90cec695" + }, + { + "bytes": 1382, + "kind": "file", + "mode": 420, + "path": "escaped_string.h", + "sha256": "0675494730bc2bc17b41e19765e4a96dc360a6fe451a1890ac23355988f46bff" + }, + { + "bytes": 2693, + "kind": "file", + "mode": 420, + "path": "et-forest.h", + "sha256": "686244bfa730ce91232887f22bbb0b9413043a714424baffca2aa3bc90d6aea4" + }, + { + "bytes": 12244, + "kind": "file", + "mode": 420, + "path": "except.h", + "sha256": "ac102cb63acafb40203090aeab74dacb8323bdfed728383112949911172bf4a4" + }, + { + "bytes": 5741, + "kind": "file", + "mode": 420, + "path": "explow.h", + "sha256": "fef76c10fe4494ebe014eb320ec641c97ffab633ce9adafbdda0e6c60e1cc5b7" + }, + { + "bytes": 21038, + "kind": "file", + "mode": 420, + "path": "expmed.h", + "sha256": "c75c31bdb6fe8e0dbf142fdc299f8f26ec9dff754664e457a49d1de84c6e481b" + }, + { + "bytes": 13805, + "kind": "file", + "mode": 420, + "path": "expr.h", + "sha256": "ab3389f2a5105969867a2dec77eb92f5dd55cfb3c46d26342e5724ee8e47a4dd" + }, + { + "bytes": 16180, + "kind": "file", + "mode": 420, + "path": "fibonacci_heap.h", + "sha256": "c82178ff485d0a61bdbd2450a9ee16caf57e83d98fd37e3326c53593c644e56e" + }, + { + "bytes": 1717, + "kind": "file", + "mode": 420, + "path": "file-find.h", + "sha256": "0057ddd2bc41631e6069b900bbd34b7895c248d620da2ecde6a07d06d7c77b9a" + }, + { + "bytes": 1245, + "kind": "file", + "mode": 420, + "path": "file-prefix-map.h", + "sha256": "fc606239667d9c5f0549db1d03e64bc1322d73072e92755dfcea9ea1556dde60" + }, + { + "bytes": 3524, + "kind": "file", + "mode": 420, + "path": "filenames.h", + "sha256": "93d972961c2d41445faa2ff3ac5ac4aa9f68ac332e31ca32dd77b08ad8830b60" + }, + { + "bytes": 4155, + "kind": "file", + "mode": 420, + "path": "fixed-value.h", + "sha256": "2312325be7943854df0faade267a89b1454cec041e035614d0499f8ce3a8c538" + }, + { + "bytes": 15499, + "kind": "file", + "mode": 420, + "path": "flag-types.h", + "sha256": "5796693bde1e7f9686a857964835bdc7bef1ff9c3a597ef24c1bd8e2eb398d9c" + }, + { + "bytes": 3627, + "kind": "file", + "mode": 420, + "path": "flags.h", + "sha256": "52d3cc3697ccb7e70ed38655aee02914046ac9d11284278c2078c88df447d6ee" + }, + { + "bytes": 1032, + "kind": "file", + "mode": 420, + "path": "fold-const-call.h", + "sha256": "94afc3bfb186de354f97612522fd97b07d7b8a552d9d99665aec6804111dff21" + }, + { + "bytes": 13407, + "kind": "file", + "mode": 420, + "path": "fold-const.h", + "sha256": "f440020333fb36bfc709dad7271c43fdb96229f041dcd9248fa3e30193207afd" + }, + { + "bytes": 11340, + "kind": "file", + "mode": 420, + "path": "function-abi.h", + "sha256": "4a87c748bc1dbd27969a4ab1a1b50d44e512b3b6d939f07b582002be8c3bb0a9" + }, + { + "bytes": 26167, + "kind": "file", + "mode": 420, + "path": "function.h", + "sha256": "221af11d18566ae92ed7a523a9a334bc33b1b2b6621e1b30df86544c6c1ffafd" + }, + { + "bytes": 1247, + "kind": "file", + "mode": 420, + "path": "gcc-plugin.h", + "sha256": "14da5c4c72e867d3143078d6b2a4552ea0f69ddc3dc56046cf971e02b5b38811" + }, + { + "bytes": 6464, + "kind": "file", + "mode": 420, + "path": "gcc-rich-location.h", + "sha256": "c2a70ac4254fb197cb9c67a8167accc6dff3c46f5e324545e325acfc78b446c7" + }, + { + "bytes": 942, + "kind": "file", + "mode": 420, + "path": "gcc-symtab.h", + "sha256": "1d32456e30d45648cc7c673b5b7164a41e6119336f1f2cd31bc99bf9b9be445a" + }, + { + "bytes": 3073, + "kind": "file", + "mode": 420, + "path": "gcc.h", + "sha256": "9ccf4af910f55ed3437a891768f184b8b71f13ebf343de0d79c9feb7f073f409" + }, + { + "bytes": 1894, + "kind": "file", + "mode": 420, + "path": "gcov-counter.def", + "sha256": "0088739f71d5b35269c58a6bc6ada86054fb572f241fa349913d36596bb4310b" + }, + { + "bytes": 15775, + "kind": "file", + "mode": 420, + "path": "gcov-io.h", + "sha256": "10ee424e78fa32a593879e9aee7cb6f6f40b00ef35d4bd10e7d880e0af7ec0d4" + }, + { + "bytes": 1418, + "kind": "file", + "mode": 420, + "path": "gcse-common.h", + "sha256": "5f157e267c71b120a95972b98cc484e9b7615ce3f8db491760c1d5a8ae735ce8" + }, + { + "bytes": 1497, + "kind": "file", + "mode": 420, + "path": "gcse.h", + "sha256": "bce4f75524046f39ccf160d8015b611f8e2a415814cbfe775c3abe6a66c1daa3" + }, + { + "bytes": 1256, + "kind": "file", + "mode": 420, + "path": "generic-match.h", + "sha256": "4115d7893cb95f4120f9ed831b1dd0388310ac85daeac5d23afaf91e2a8606a1" + }, + { + "bytes": 17392, + "kind": "file", + "mode": 420, + "path": "gengtype.h", + "sha256": "1018ca478ee084f9e62d3511e50ad23468fcfa97caedd07906f14da34a54235a" + }, + { + "bytes": 47491, + "kind": "file", + "mode": 420, + "path": "genrtl.h", + "sha256": "42d108de1fa4567927e5723d516199b34fc863c06b219f8f7cf29361611eb392" + }, + { + "bytes": 6973, + "kind": "file", + "mode": 420, + "path": "gensupport.h", + "sha256": "83d8a07bd756470d5dbdb9d25e3d3d2740752062d48ca0178b58212216f44ece" + }, + { + "bytes": 3933, + "kind": "file", + "mode": 420, + "path": "ggc-internal.h", + "sha256": "c6d76d4363a59a8ad548d6617493eedf9c8602a80d5fa74607efe46f81fef84e" + }, + { + "bytes": 11339, + "kind": "file", + "mode": 420, + "path": "ggc.h", + "sha256": "82f0910f755cf53737df25fb67a19575be886b82b8d689ccca100bb17419473e" + }, + { + "bytes": 1571, + "kind": "file", + "mode": 420, + "path": "gimple-array-bounds.h", + "sha256": "fa88c5499e9b77f8661f20508ea78d9b818079251bc0e2744d40b1434f0b8542" + }, + { + "bytes": 1503, + "kind": "file", + "mode": 420, + "path": "gimple-builder.h", + "sha256": "8c4d9b5570c51f4e801e26b0c293e11d3732fe37879a06b0ce4c6b4a98a07532" + }, + { + "bytes": 5158, + "kind": "file", + "mode": 420, + "path": "gimple-expr.h", + "sha256": "a4ec8bb41e137b5bb5d8ff884d791b4f5dce3b28b724591bc1784bf5ed65264d" + }, + { + "bytes": 10870, + "kind": "file", + "mode": 420, + "path": "gimple-fold.h", + "sha256": "b7eae6b1d5defa242a37fd7408b5fdde55fbeea2ee0aec8d9759540c936ca2c0" + }, + { + "bytes": 10423, + "kind": "file", + "mode": 420, + "path": "gimple-iterator.h", + "sha256": "a961105f9d8903b0d79afde450c2a47f69b6eac9b97aebf77d13cd1c2d9400a6" + }, + { + "bytes": 981, + "kind": "file", + "mode": 420, + "path": "gimple-low.h", + "sha256": "69f3378a5afdc45a998194f4c708a567c789b2ce0c4fbe492c1bc40bbeabebd3" + }, + { + "bytes": 8983, + "kind": "file", + "mode": 420, + "path": "gimple-match.h", + "sha256": "22962af6a3de149826a8e197ae153d7fffdf50f79dbd0845a794545f25286520" + }, + { + "bytes": 4972, + "kind": "file", + "mode": 420, + "path": "gimple-predicate-analysis.h", + "sha256": "49461de35bd6bb6448d29aad95b9388d1a036374727943cbebedd341b8e644ef" + }, + { + "bytes": 2530, + "kind": "file", + "mode": 420, + "path": "gimple-predict.h", + "sha256": "dbb82424051d2ab36ad938d31704898b92c0f8999c4aa5e3756c15380133458e" + }, + { + "bytes": 1662, + "kind": "file", + "mode": 420, + "path": "gimple-pretty-print.h", + "sha256": "0b5ae839465cfb6be8bb75a1a5c64cd41a0be40bc63c9f38fbae7a8f1afd1523" + }, + { + "bytes": 4147, + "kind": "file", + "mode": 420, + "path": "gimple-range-cache.h", + "sha256": "2b2bb0081f8b72505e3ff1d2e25b6dab3c14a81755d82dc3a32fe7f4ffdb18b1" + }, + { + "bytes": 2144, + "kind": "file", + "mode": 420, + "path": "gimple-range-edge.h", + "sha256": "f70a149742d8b6d87cef7e2912fc3ccda35521d5ab9b47c566546cf322c9d261" + }, + { + "bytes": 6307, + "kind": "file", + "mode": 420, + "path": "gimple-range-fold.h", + "sha256": "0990e92eb8d346fd08962c6c27bbe9e56bf05399fd36ac790e556a67c911bdc5" + }, + { + "bytes": 8692, + "kind": "file", + "mode": 420, + "path": "gimple-range-gori.h", + "sha256": "adba924418190f95c63dd1c7a59922fcc18b6bd9d45faaf2ccd12b3191d8a706" + }, + { + "bytes": 3073, + "kind": "file", + "mode": 420, + "path": "gimple-range-infer.h", + "sha256": "73ccc7ad72242c1dade2d85c33e803942cbb50a9e59518bda6023da2392f47ea" + }, + { + "bytes": 2035, + "kind": "file", + "mode": 420, + "path": "gimple-range-op.h", + "sha256": "9103654748691af3206f7dc00995e9c6c68b3c0cfe9a6294eaf760dfb888adb2" + }, + { + "bytes": 4384, + "kind": "file", + "mode": 420, + "path": "gimple-range-path.h", + "sha256": "0f5bb2bab19be8fbabe84bbd037c39924f78015b9d2b6cf103045e1a86fa2cdb" + }, + { + "bytes": 2383, + "kind": "file", + "mode": 420, + "path": "gimple-range-trace.h", + "sha256": "8dd32ec528b1548e6f8e9e85f2412c808ee1c1a9b19942dbce67da7b6d3866f4" + }, + { + "bytes": 3886, + "kind": "file", + "mode": 420, + "path": "gimple-range.h", + "sha256": "6e1ec1d0c60117eae8e0b011a85e7dc86f084751362e814decc8c4da1a90dd50" + }, + { + "bytes": 1934, + "kind": "file", + "mode": 420, + "path": "gimple-ssa-warn-access.h", + "sha256": "8930c781c5a7bac209dcd489c3466c59671a98e1ccaa7d3b3a3d2a536407ff68" + }, + { + "bytes": 1144, + "kind": "file", + "mode": 420, + "path": "gimple-ssa-warn-restrict.h", + "sha256": "445c7b6af465bd66f70e984a75edbf9b3d12f78a6a402a3b7c0da62af142fe1d" + }, + { + "bytes": 5477, + "kind": "file", + "mode": 420, + "path": "gimple-ssa.h", + "sha256": "10f6662fd0ac0a31be74d407313e06d9276bd5b298d9be0a762e756eab629045" + }, + { + "bytes": 1163, + "kind": "file", + "mode": 420, + "path": "gimple-streamer.h", + "sha256": "699116c82b3d4d27f237e7f7e6bb44d7ae82c64654b2b70d89dfc35a29f84738" + }, + { + "bytes": 4260, + "kind": "file", + "mode": 420, + "path": "gimple-walk.h", + "sha256": "fe58ab5c8b95a6c3975b35a075f00e3704f8519968a388c2989b30c0c62e6691" + }, + { + "bytes": 16974, + "kind": "file", + "mode": 420, + "path": "gimple.def", + "sha256": "ec4c9c88546fa7cb5130de64224baea8f2f2481206a35825ff5f0725f7be611a" + }, + { + "bytes": 161475, + "kind": "file", + "mode": 420, + "path": "gimple.h", + "sha256": "3da4923eb7137e70e89af8e31b0164f5ac9ef3979b32b158fcc68787a091ff2d" + }, + { + "bytes": 1550, + "kind": "file", + "mode": 420, + "path": "gimplify-me.h", + "sha256": "13ca97e62e1046c0ee94573bc528f690f21d2c95508e2a4b52a4fd586a1bb448" + }, + { + "bytes": 3596, + "kind": "file", + "mode": 420, + "path": "gimplify.h", + "sha256": "6dc1920d67c95c1b72f3e530d8a3ebe926952e03c4248dd35d6c8492496ad543" + }, + { + "bytes": 4718, + "kind": "file", + "mode": 420, + "path": "glimits.h", + "sha256": "15cc72ece04746fe84d86ca21b4fa473d3d8e9a63e6a187901c047e1d0d4e918" + }, + { + "bytes": 15067, + "kind": "file", + "mode": 420, + "path": "gomp-constants.h", + "sha256": "f49c5847a59f70bb7dcf6ce883fad82f88827da128412dc375e72e599a82d9cd" + }, + { + "bytes": 951, + "kind": "file", + "mode": 420, + "path": "graph.h", + "sha256": "1e7878693178734e3f7692e7da5f40ebd4439d7118a0451f9df0a432939f915b" + }, + { + "bytes": 2293, + "kind": "file", + "mode": 420, + "path": "graphds.h", + "sha256": "de279206c8ea8dc4a8078b32f0a38853ac6c03687e3dfddec70056bf66eb09a5" + }, + { + "bytes": 12497, + "kind": "file", + "mode": 420, + "path": "graphite.h", + "sha256": "ccbae957b442f88d088d56aec8f8045b4057653c363115621c46a408658bae23" + }, + { + "bytes": 1531, + "kind": "file", + "mode": 420, + "path": "graphviz.h", + "sha256": "3a42edc31d2b1c4ac08ba1b3dca541ca909a964efa7646f7010e2ba21a3e30cd" + }, + { + "bytes": 2409, + "kind": "file", + "mode": 420, + "path": "gsstruct.def", + "sha256": "1651b558793d700fe1a0c4ac2b9cac5c95ef2e4520f42df76938d6848a3b6add" + }, + { + "bytes": 1783, + "kind": "file", + "mode": 420, + "path": "gsyms.h", + "sha256": "1d2e65fdd1565fc90923304bdadeeb00384d7d617f28a23d7a76537a52e80893" + }, + { + "bytes": 330, + "kind": "file", + "mode": 420, + "path": "gsyslimits.h", + "sha256": "22dd0ab81baadd5a8d455b445855f341d419c7b0267beca235de00b7ec78e529" + }, + { + "bytes": 10158, + "kind": "file", + "mode": 420, + "path": "gtm-builtins.def", + "sha256": "b8fe0ca2bae450a6cc5fab57ede4cfb1a59c98cc8451837a9e763d168d5f52df" + }, + { + "bytes": 176886, + "kind": "file", + "mode": 420, + "path": "gtype-desc.h", + "sha256": "02870fb8fd90e7115d52b7893ac70db6fdb19e0189f53235b2e65066c7203855" + }, + { + "bytes": 16063, + "kind": "file", + "mode": 420, + "path": "hard-reg-set.h", + "sha256": "1531add71cd94bfd441313905a0e233cb3774e10491d634830b3be5d58271dfb" + }, + { + "bytes": 5627, + "kind": "file", + "mode": 420, + "path": "hash-map-traits.h", + "sha256": "0e258c1fca60d02537913288f68f8234ed300e36c824d0515ebe3704436dffc2" + }, + { + "bytes": 10909, + "kind": "file", + "mode": 420, + "path": "hash-map.h", + "sha256": "e5cf42c2ad4515dc2a88fe984ec0281632689bcca2736f50dd2fdfeca546c948" + }, + { + "bytes": 5741, + "kind": "file", + "mode": 420, + "path": "hash-set.h", + "sha256": "876bf0e7c31a5378efc30e07fabbd55a94245bbf44ebf2f7784659e42d59a9a2" + }, + { + "bytes": 39688, + "kind": "file", + "mode": 420, + "path": "hash-table.h", + "sha256": "7115642e9761d2cd36f131d486a437a110b93158fb0899308b49793615b1b5b9" + }, + { + "bytes": 11226, + "kind": "file", + "mode": 420, + "path": "hash-traits.h", + "sha256": "81c44e0537bfc87a0b9adcc52051236015f28b222fcaafb54f8815c9561b2479" + }, + { + "bytes": 7402, + "kind": "file", + "mode": 420, + "path": "hashtab.h", + "sha256": "a72e81a2c7322ca4fc9ba821c1cb38ae7c034cb402181e90d91841cd58b1f98e" + }, + { + "bytes": 1121, + "kind": "file", + "mode": 420, + "path": "highlev-plugin-common.h", + "sha256": "b81549f3331b5335b3129ac2091691aa658b5cf651ba1ba0082906af22997f54" + }, + { + "bytes": 6259, + "kind": "file", + "mode": 420, + "path": "hooks.h", + "sha256": "1e7d3063c34061812fbdd950e90d858e0bc1cd5f67db144a75c3246aa7cf31bd" + }, + { + "bytes": 1808, + "kind": "file", + "mode": 420, + "path": "hosthooks-def.h", + "sha256": "0003121f60d6cb02ed21c08709c10889e5df6891bdd8251290f0084e81bf2b4b" + }, + { + "bytes": 1943, + "kind": "file", + "mode": 420, + "path": "hosthooks.h", + "sha256": "61e4c9ea3990396756584ee9bc40ab081fa6204a48eeaa345c072f58a50a25ad" + }, + { + "bytes": 5584, + "kind": "file", + "mode": 420, + "path": "hw-doloop.h", + "sha256": "88a0e0f498a55f586df2845736b75e63b07802f169bcf8b1edf4fc95f8bedcc0" + }, + { + "bytes": 10745, + "kind": "file", + "mode": 420, + "path": "hwint.h", + "sha256": "7a50e1ced617289ebe97acbaf61925b7de235e50d4b73d8575da288dd064a127" + }, + { + "bytes": 4271, + "kind": "file", + "mode": 420, + "path": "ifcvt.h", + "sha256": "b09b75199f3721bd9538812d29ce8da67c95c992da9295b4c865d70b470aff7d" + }, + { + "bytes": 5203, + "kind": "file", + "mode": 420, + "path": "inchash.h", + "sha256": "5b78e81a7226a9cbc6c664b2928c68ccb155132d4e764daaca2eb28590137856" + }, + { + "bytes": 1696, + "kind": "file", + "mode": 420, + "path": "incpath.h", + "sha256": "747174cc153c2c9851a6acfa50586fa632db3696650b118a00fed85bac643b79" + }, + { + "bytes": 9147, + "kind": "file", + "mode": 420, + "path": "input.h", + "sha256": "ab7c203f21122c26260141dffe2e3e3fc30c9ad6458b5c2be26029d4cf34280d" + }, + { + "bytes": 1881, + "kind": "file", + "mode": 420, + "path": "insn-addr.h", + "sha256": "62a42864b5d1de2f6ba657663688b67018349a6ef133fe4f9feb312edbd4674f" + }, + { + "bytes": 5586, + "kind": "file", + "mode": 420, + "path": "insn-attr-common.h", + "sha256": "bcb77597a67ac6b68b24dbdae7dca900f611ad0a8a3a56ecf8af45378d890ca6" + }, + { + "bytes": 11715, + "kind": "file", + "mode": 420, + "path": "insn-attr.h", + "sha256": "4baa3750012a67f0bb4600d7faea1a52c3c104779aaa8c64095f2d0581757902" + }, + { + "bytes": 310455, + "kind": "file", + "mode": 420, + "path": "insn-codes.h", + "sha256": "83e0c3cbab2ce449e98b300a78667666b4f8a7cfe4d4b4cdfdd8af8019393774" + }, + { + "bytes": 526, + "kind": "file", + "mode": 420, + "path": "insn-config.h", + "sha256": "61f4af46470a090d3879482225cf5b44d7e63e6a62a2556c588758311a7b55d1" + }, + { + "bytes": 11204, + "kind": "file", + "mode": 420, + "path": "insn-constants.h", + "sha256": "319b6341188b6ea532fc90a5a6ce26a0c87e35a2f4c7887f8db3a54f9d8f8ca3" + }, + { + "bytes": 1347390, + "kind": "file", + "mode": 420, + "path": "insn-flags.h", + "sha256": "0e21173edfdcf406b300992e8bab9ef65ca3a98f42501d24efeffd057eedb218" + }, + { + "bytes": 24711, + "kind": "file", + "mode": 420, + "path": "insn-modes-inline.h", + "sha256": "206116a4fb7aedd76f936dfd3f23c5ba9a9c4cda1c787338dffcdc6feea6a78d" + }, + { + "bytes": 28560, + "kind": "file", + "mode": 420, + "path": "insn-modes.h", + "sha256": "bc522aae00c541e890a64bec011e0df5c0952f76058e4418fde210051b4f9a16" + }, + { + "bytes": 3617, + "kind": "file", + "mode": 420, + "path": "insn-notes.def", + "sha256": "a3c40aa47c1a61414ee539c2729d60cf027c7a654a576d6bfa9a4038d4cb8be5" + }, + { + "bytes": 2706, + "kind": "file", + "mode": 420, + "path": "int-vector-builder.h", + "sha256": "8793b9ae709fa4abfa4b47b42f7d44e5b8a0c81babb947316f340e26c34bd955" + }, + { + "bytes": 22125, + "kind": "file", + "mode": 420, + "path": "internal-fn.def", + "sha256": "b5bdb9d9d2d0c0836398ce22772e364881ef4999da68d6824a3c08bbebfb864a" + }, + { + "bytes": 8988, + "kind": "file", + "mode": 420, + "path": "internal-fn.h", + "sha256": "6e5d20a5735c158d71a3fea72e303455ce5a1ddb1964a1283084331645a923e2" + }, + { + "bytes": 2009, + "kind": "file", + "mode": 420, + "path": "intl.h", + "sha256": "4a313883acbe8bf6a6502e0f4a56863ab5916e8defe4828e98f5251af2536744" + }, + { + "bytes": 15911, + "kind": "file", + "mode": 420, + "path": "ipa-fnsummary.h", + "sha256": "de4a896a9634f74046d2869acd9bd1cb53ee4f7f2ab55fe1ced41460f03417f1" + }, + { + "bytes": 11544, + "kind": "file", + "mode": 420, + "path": "ipa-icf-gimple.h", + "sha256": "496e275a5cece9993a70e8bd4a02344ed0e3ac7c50d1b81d9d1adc7d4094db2c" + }, + { + "bytes": 21309, + "kind": "file", + "mode": 420, + "path": "ipa-icf.h", + "sha256": "9e7a92faa7ba1f266da868b0054480f19dd8d5291c479b4ba7132e9a35c27cb5" + }, + { + "bytes": 4289, + "kind": "file", + "mode": 420, + "path": "ipa-inline.h", + "sha256": "1e955d3f468551b8ad6ff25bba478f81e71ba94e61db38fb585772b5d2f935cb" + }, + { + "bytes": 22363, + "kind": "file", + "mode": 420, + "path": "ipa-modref-tree.h", + "sha256": "fe51a1249a2d02f88c09e4d39f5b86bc4b93134c6afc94923fdee8c364fcbc69" + }, + { + "bytes": 5027, + "kind": "file", + "mode": 420, + "path": "ipa-modref.h", + "sha256": "22c65da14709b9b84e8086769f3897e4f48f05b59e975a3d241a495c09dc1d47" + }, + { + "bytes": 18540, + "kind": "file", + "mode": 420, + "path": "ipa-param-manipulation.h", + "sha256": "f3201c2d0c05d9f7a8ff5bf24b45c7900d74f826c73e8f1462abf2489e97e561" + }, + { + "bytes": 8891, + "kind": "file", + "mode": 420, + "path": "ipa-predicate.h", + "sha256": "6b22f107252d8a4e3b93663584c2a43293e30630960369e6f3308c664c7ca4ae" + }, + { + "bytes": 41250, + "kind": "file", + "mode": 420, + "path": "ipa-prop.h", + "sha256": "c6ac7cb1c6c2b9b41e6351d823c97cd36ed192055f2bec5d5cf732816d6d00dc" + }, + { + "bytes": 3529, + "kind": "file", + "mode": 420, + "path": "ipa-ref.h", + "sha256": "399109d1b5ba4d7aba587233d2235c508453294b503640636bf5f65c4bec4fb5" + }, + { + "bytes": 1099, + "kind": "file", + "mode": 420, + "path": "ipa-reference.h", + "sha256": "43c907a42844c6b38799eae901b6046c4676dc27de8ebd5a5318a954f2520d4a" + }, + { + "bytes": 9725, + "kind": "file", + "mode": 420, + "path": "ipa-utils.h", + "sha256": "5329e4984b4519090d52923ceca6c115f03b57327b2bda231c555f1b2b6dbde4" + }, + { + "bytes": 62259, + "kind": "file", + "mode": 420, + "path": "ira-int.h", + "sha256": "aec4d79bbac7c207b388b045b7b0d55947f13a9d5138a5ef57c8a36031248e02" + }, + { + "bytes": 9893, + "kind": "file", + "mode": 420, + "path": "ira.h", + "sha256": "d732461cda17464dbf997c189a28eb5c1ee94a8171be0ca2d7c68e5f148e4810" + }, + { + "bytes": 7700, + "kind": "file", + "mode": 420, + "path": "is-a.h", + "sha256": "a7be36431cebf05709bd2a25f47381bc2786125bfc92f933edc28aab6761f8ca" + }, + { + "bytes": 5894, + "kind": "file", + "mode": 420, + "path": "iterator-utils.h", + "sha256": "f22917e2b2d4ee3b5d012e3fb9237f262ab7d7cc09f5b68f6abef02cb600afca" + }, + { + "bytes": 4705, + "kind": "file", + "mode": 420, + "path": "json.h", + "sha256": "9ccf0c42d9ddb74401cac7be0c8bd17c3183be25d7b2af89069a98b8978272cf" + }, + { + "bytes": 16998, + "kind": "file", + "mode": 420, + "path": "langhooks-def.h", + "sha256": "95f149ef20e682d4877d5f2ebb2c9886b68750f8cf586b4a982e32566e67f488" + }, + { + "bytes": 27732, + "kind": "file", + "mode": 420, + "path": "langhooks.h", + "sha256": "5cef50bf7cd776d0bb62db9722163b98f4372e8ab256ceab28a6eabd0161f572" + }, + { + "bytes": 1327, + "kind": "file", + "mode": 420, + "path": "lcm.h", + "sha256": "0bda2ffffab92ff1e08ad9d5d820a27f9379ee6782d2d27dcb753a5d6aea38db" + }, + { + "bytes": 2586, + "kind": "file", + "mode": 420, + "path": "libfuncs.h", + "sha256": "4ede906245548b77c8039974408ad67b33f437b8d37863cdc8511ad21f053ea4" + }, + { + "bytes": 27873, + "kind": "file", + "mode": 420, + "path": "libiberty.h", + "sha256": "30bb26b74878d324cd3a495ae6913f9dc682fb8519c2acd55520e31f8456a6c1" + }, + { + "bytes": 1411, + "kind": "file", + "mode": 420, + "path": "limitx.h", + "sha256": "3b38742bd304c485bb6ab53cacea9432e28205ac7a002a86330f0ae2380f2b3d" + }, + { + "bytes": 270, + "kind": "file", + "mode": 420, + "path": "limity.h", + "sha256": "281813879fe05668e6a3cc520ef294c7fd3f01f75dd67cb5e363c3ffdf37cb1b" + }, + { + "bytes": 73241, + "kind": "file", + "mode": 420, + "path": "line-map.h", + "sha256": "415f38816ece1ca843803ef3af96be9d9029e83fe9e76b53f0c33f74eeaee778" + }, + { + "bytes": 2486, + "kind": "file", + "mode": 420, + "path": "logical-location.h", + "sha256": "62fd366fc45f278a0957b5b9c456bf9967bf0dddb1903a9539df9f677abba3b2" + }, + { + "bytes": 893, + "kind": "file", + "mode": 420, + "path": "loop-unroll.h", + "sha256": "013de58934fbc12448fd9c684dd5c920be658c527ec61c4d5bff848d911373af" + }, + { + "bytes": 2081, + "kind": "file", + "mode": 420, + "path": "lower-subreg.h", + "sha256": "a17e1d7b54de7bbd12917d92e645bebf03466c4dff43a4fb3314b955f08d93d1" + }, + { + "bytes": 18811, + "kind": "file", + "mode": 420, + "path": "lra-int.h", + "sha256": "3e1e99bc6bab69cb9d3c81f4e84f13d15aec66a39597b1272f46e8e5d994982f" + }, + { + "bytes": 1337, + "kind": "file", + "mode": 420, + "path": "lra.h", + "sha256": "a0dac0179283d66fecc9eef1245bfe9e220cadd855bb78238fb17938223a01d3" + }, + { + "bytes": 1599, + "kind": "file", + "mode": 420, + "path": "lto-compress.h", + "sha256": "d0e82fdd93133a4165a7355e79d815cd0cd4e2d954f59d8141b9b9d1ba5d38c8" + }, + { + "bytes": 1595, + "kind": "file", + "mode": 420, + "path": "lto-section-names.h", + "sha256": "1c91506b7ee8fa420ef0852e90dc824e28dc367274d05fce88f188b9644a3473" + }, + { + "bytes": 38386, + "kind": "file", + "mode": 420, + "path": "lto-streamer.h", + "sha256": "8af2370c5da76c5a10a5f81dc7276d577d15d4427a45a4fc945056200f971ecd" + }, + { + "bytes": 975, + "kind": "file", + "mode": 420, + "path": "m2/m2-tree.def", + "sha256": "ee4847ee69fc0acd5f2c89176d2d523ada86876bf6ef97c37f05becf56c0a049" + }, + { + "bytes": 10847, + "kind": "file", + "mode": 420, + "path": "machmode.def", + "sha256": "de584372b4942dd19796032f087b652ebe3425f4fdfa71ce16245a17c1f47506" + }, + { + "bytes": 35856, + "kind": "file", + "mode": 420, + "path": "machmode.h", + "sha256": "4444cb35bf21f0fad623af174c34d3a23a1f7a239206148ada43f4ea422ab3ee" + }, + { + "bytes": 1529, + "kind": "file", + "mode": 420, + "path": "make-unique.h", + "sha256": "ec51d87d64f36a9d717d4a9b12810d43d60c16ca5527cda00de934f58bea6ffd" + }, + { + "bytes": 5409, + "kind": "file", + "mode": 420, + "path": "md5.h", + "sha256": "7e63418a7fcab4637c5fb29fe554149c0252ed43fcd70a9434af8d8157aff5d6" + }, + { + "bytes": 1280, + "kind": "file", + "mode": 420, + "path": "mem-stats-traits.h", + "sha256": "afa4dc890a08081d268b4b7512fbcbe46572dc71d6a026b465a8f6e2d9714451" + }, + { + "bytes": 18132, + "kind": "file", + "mode": 420, + "path": "mem-stats.h", + "sha256": "95cc899b612bf1d4aceeb45663b2bbc34b8711d38c215b53ef2693fd73ddcc91" + }, + { + "bytes": 3401, + "kind": "file", + "mode": 420, + "path": "memmodel.h", + "sha256": "4c56869646d5db67ce1887862d23c13ac2453879ff8da57c67f5c4ad6594ff69" + }, + { + "bytes": 2500, + "kind": "file", + "mode": 420, + "path": "memory-block.h", + "sha256": "76be7522462077eba796115512b13778ebbff5be23babf8ca6cf19805d435014" + }, + { + "bytes": 2034, + "kind": "file", + "mode": 420, + "path": "mode-classes.def", + "sha256": "51d097959c833480f573c1253da61cbf79495424ff3640c577837ee5e7fe5cbd" + }, + { + "bytes": 7617, + "kind": "file", + "mode": 420, + "path": "mux-utils.h", + "sha256": "639957ca653d1b4a8caccabe94166b6e80dcc150dc7fef7120b03781d3e86338" + }, + { + "bytes": 3378, + "kind": "file", + "mode": 420, + "path": "objc/objc-tree.def", + "sha256": "c2b3a32369d99cc8260b985d647c5a4e506f0e1f95296062c8993ac33070799c" + }, + { + "bytes": 2480, + "kind": "file", + "mode": 420, + "path": "obstack-utils.h", + "sha256": "3337eebd882f83dd0d81305cd886c20403267f9030966fe91e021eb793b71c85" + }, + { + "bytes": 22405, + "kind": "file", + "mode": 420, + "path": "obstack.h", + "sha256": "d7b88aea7f6a9579f716a775fba2acbd119315e0975431c7644ec842495271d0" + }, + { + "bytes": 22884, + "kind": "file", + "mode": 420, + "path": "omp-builtins.def", + "sha256": "0ea9f9414e42aa2ebfca27d2a853594f13d30b63259303d77207e30d07ba67c6" + }, + { + "bytes": 1165, + "kind": "file", + "mode": 420, + "path": "omp-expand.h", + "sha256": "865d458725ff3ac68fe6e34ac2d9d4a9df93cf0913469d9726f426a0fc9c25cc" + }, + { + "bytes": 5983, + "kind": "file", + "mode": 420, + "path": "omp-general.h", + "sha256": "7adf96139b70216876dc610b87a81c950f197811ba7e1249031dad9f0d1c00b5" + }, + { + "bytes": 1095, + "kind": "file", + "mode": 420, + "path": "omp-low.h", + "sha256": "db8f807abd15f86cbb42242e65b1e9a3447074aab6c98424b0a7ebf2dab8b80f" + }, + { + "bytes": 1214, + "kind": "file", + "mode": 420, + "path": "omp-offload.h", + "sha256": "244d40fb972c66f1accc14712cf0ee6575209e113431fc897af09b6ec59295b3" + }, + { + "bytes": 880, + "kind": "file", + "mode": 420, + "path": "omp-simd-clone.h", + "sha256": "74456a1c9e0f39545ffa3f6eb8b3c8cfebfe7a4ab954453c6a912f4e42fa1ca3" + }, + { + "bytes": 9423, + "kind": "file", + "mode": 420, + "path": "opt-problem.h", + "sha256": "3a2ab8a4cdeba7790e0f246c37580c904dbf459e4d26a5775f82220ecefafc35" + }, + { + "bytes": 2540, + "kind": "file", + "mode": 420, + "path": "opt-suggestions.h", + "sha256": "50fb15e8b6fb8980f80cffb19667e63740c0a0a4be47bb5e5e5ab59351a2362f" + }, + { + "bytes": 3469, + "kind": "file", + "mode": 420, + "path": "optabs-libfuncs.h", + "sha256": "29ed316ac1c28a4b1df96943e194d1d63ecfe761e9f6124a418b227cd84eb87e" + }, + { + "bytes": 7104, + "kind": "file", + "mode": 420, + "path": "optabs-query.h", + "sha256": "5ed43d77e9d7d2080d5d02a78260d759c5b14028431b28055e3d4564d5aecea1" + }, + { + "bytes": 1867, + "kind": "file", + "mode": 420, + "path": "optabs-tree.h", + "sha256": "10de46939ebad137748008605be8afb05dbceb4eb7e7c09d7ffe11f11c15897f" + }, + { + "bytes": 22768, + "kind": "file", + "mode": 420, + "path": "optabs.def", + "sha256": "423d37d7db5f9ae5be74b83d2d55a4acbbbaeaf56b293d68375f7a8f7d2f24dd" + }, + { + "bytes": 14408, + "kind": "file", + "mode": 420, + "path": "optabs.h", + "sha256": "904dbf30e1cb2dae59e3ebca387fc9f4a278b1a5b468fa82c97d4a35e4e618cf" + }, + { + "bytes": 2047, + "kind": "file", + "mode": 420, + "path": "optinfo-emit-json.h", + "sha256": "b8d4716945ae169e7be105dfe9b29417a907a308dbf2ccf629a6d8bbb7a31ef4" + }, + { + "bytes": 5152, + "kind": "file", + "mode": 420, + "path": "optinfo.h", + "sha256": "8884b6514baf87d199fe0c54da077e7209cc760022a83984c3f26d6a18ec4102" + }, + { + "bytes": 504497, + "kind": "file", + "mode": 420, + "path": "options.h", + "sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3" + }, + { + "bytes": 1032, + "kind": "file", + "mode": 420, + "path": "opts-diagnostic.h", + "sha256": "b941dcb347c09c55364350b23ba666aa11d3665920a5d8d6778c4edf3454d983" + }, + { + "bytes": 1787, + "kind": "file", + "mode": 420, + "path": "opts-jobserver.h", + "sha256": "cf69cae8fdfc06b026c6c9e6f73b6569012e368d595522dda263490c7323f0cd" + }, + { + "bytes": 20111, + "kind": "file", + "mode": 420, + "path": "opts.h", + "sha256": "679ae81edf5eb0f284eb8426d2d742b795d94c718d08fa0c6be0b000fed8f99b" + }, + { + "bytes": 5035, + "kind": "file", + "mode": 420, + "path": "ordered-hash-map.h", + "sha256": "a19e5a6c8b0995d955972ac1e8e36f8e3e596def77e1071a66c5513110d8c984" + }, + { + "bytes": 25158, + "kind": "file", + "mode": 420, + "path": "output.h", + "sha256": "0b1f52111356fa8ff77fd3cc829c2a14400a6322db3743f8293f6cba3ced544c" + }, + { + "bytes": 24846, + "kind": "file", + "mode": 420, + "path": "pass-instances.def", + "sha256": "a0e160ffd36c3ad1643ac4b29dffb0cbda42eb411cf8b29618df9917e586c5f4" + }, + { + "bytes": 4112, + "kind": "file", + "mode": 420, + "path": "pass_manager.h", + "sha256": "14517703ae93aca191844dd07649820424e8c9f84cb17bab6a7058bdd91b9766" + }, + { + "bytes": 22106, + "kind": "file", + "mode": 420, + "path": "passes.def", + "sha256": "f0a89caaaec0c4e234e4840f5958cc59ed9189f18bf62309ea78bb68befd4fe6" + }, + { + "bytes": 18343, + "kind": "file", + "mode": 420, + "path": "plugin-api.h", + "sha256": "ab883946bdbc9a8143b32bf970b3be836e070c62223974b25bffae4e747836ae" + }, + { + "bytes": 595, + "kind": "file", + "mode": 420, + "path": "plugin-version.h", + "sha256": "240c05ad22d5f396015efdc5d0381c554ea79d62c8ece0402909501e59a5f1d4" + }, + { + "bytes": 3419, + "kind": "file", + "mode": 420, + "path": "plugin.def", + "sha256": "6e5670c5c93a21ee20ddb1d96974c782cb51b988fe4bd66a8aed42768b88f54e" + }, + { + "bytes": 6593, + "kind": "file", + "mode": 420, + "path": "plugin.h", + "sha256": "bf17c85ab563f8cc6808993e83dd6ef727b282b8b4ede9749d635d23feb7753b" + }, + { + "bytes": 9703, + "kind": "file", + "mode": 420, + "path": "pointer-query.h", + "sha256": "d68d16e80c901ae7f30d93772645252e184268e91f38d8e6f461f1bdd22ef2b0" + }, + { + "bytes": 4328, + "kind": "file", + "mode": 420, + "path": "poly-int-types.h", + "sha256": "e2a969980945c688e2851b91a34bfd6658ee0aa5684a6e7cab5bd81bc2ab5d6a" + }, + { + "bytes": 81531, + "kind": "file", + "mode": 420, + "path": "poly-int.h", + "sha256": "e66872fe193c40e9548de5effafec475f4d2d57ba0e69db2d2ee091c75a3caa3" + }, + { + "bytes": 10136, + "kind": "file", + "mode": 420, + "path": "predict.def", + "sha256": "f78bdbe1e3493092e5bd7544a6ec94e57e8ca280b6487d037312d68adb71a537" + }, + { + "bytes": 4752, + "kind": "file", + "mode": 420, + "path": "predict.h", + "sha256": "3a15c9bc658a8d773b9b741f9c52b5d08eb2461715478add8a0b7785a8a0c73a" + }, + { + "bytes": 1260, + "kind": "file", + "mode": 420, + "path": "prefix.h", + "sha256": "7a6f926a74485becf52e91b15cbdee5674b8470a4c5376179667e32c093430ab" + }, + { + "bytes": 16071, + "kind": "file", + "mode": 420, + "path": "pretty-print.h", + "sha256": "605c2d11126def8d4b358a661000989448a6e6777e7b04536243cac1bbe4ee03" + }, + { + "bytes": 5643, + "kind": "file", + "mode": 420, + "path": "print-rtl.h", + "sha256": "82d36d4eb489d6959e70dbaee1fb14b5d30a04a76840ded2df90572aa07d6885" + }, + { + "bytes": 1944, + "kind": "file", + "mode": 420, + "path": "print-tree.h", + "sha256": "ad87f6e71674db1ea93d24fd13c5f4ba4a44c910c438389d1a3f3ed0f944efef" + }, + { + "bytes": 39197, + "kind": "file", + "mode": 420, + "path": "profile-count.h", + "sha256": "daacfd3111a8ae358573e4edd62d06a765824feaa61ee6e3bfd2fce6719c715a" + }, + { + "bytes": 2335, + "kind": "file", + "mode": 420, + "path": "profile.h", + "sha256": "00eeecf678a97ef2d8b27c21739580e2fb4b22758807b9351ba421338e5fc5c4" + }, + { + "bytes": 10757, + "kind": "file", + "mode": 420, + "path": "range-op.h", + "sha256": "97143b407697c7e1dd429675660e8e5c262e90331c0cf3509ce5e998e8ed2bc8" + }, + { + "bytes": 1690, + "kind": "file", + "mode": 420, + "path": "range.h", + "sha256": "ac66d273dd27ae1aa5672ba820129727c2b48110d7f780922a8d46ba26e12d02" + }, + { + "bytes": 13190, + "kind": "file", + "mode": 420, + "path": "read-md.h", + "sha256": "b4d0bb94bf80c7cd2426e80d98b6063ceaf9fe77135e2323cde155d7ae4f20e7" + }, + { + "bytes": 1002, + "kind": "file", + "mode": 420, + "path": "read-rtl-function.h", + "sha256": "087dae9fb10d3d7fca65278b2fcd521477058b91c3242a385853e22897497b81" + }, + { + "bytes": 21374, + "kind": "file", + "mode": 420, + "path": "real.h", + "sha256": "64bb28d4bd9cee160cb7a165827ac901f8fc5c0fb0c7d0976885a37ab065119f" + }, + { + "bytes": 1302, + "kind": "file", + "mode": 420, + "path": "realmpfr.h", + "sha256": "d8f33b66341cd504dab1a29eebd8215a56e1769b57a4d62b6a9ad3ed1f7e5c0c" + }, + { + "bytes": 18160, + "kind": "file", + "mode": 420, + "path": "recog.h", + "sha256": "65f535deb2993fa5960cc5f39477b710b3d6ebe5ab2d6b4165bd8d61acce560b" + }, + { + "bytes": 10982, + "kind": "file", + "mode": 420, + "path": "reg-notes.def", + "sha256": "71888a6aa0d904d1462f91a82810073231c8526d0f33a9a7a6d82cbb87cd7b3e" + }, + { + "bytes": 877, + "kind": "file", + "mode": 420, + "path": "regcprop.h", + "sha256": "b58d176b75700c415cfad8218d7a2b08ee8004bda1cc22ba50dac9bd4978a38b" + }, + { + "bytes": 3563, + "kind": "file", + "mode": 420, + "path": "regrename.h", + "sha256": "1e36a6da41687305e5a97cb741594abb02b4d3fff577fcb8a62138c5822ebfaa" + }, + { + "bytes": 12634, + "kind": "file", + "mode": 420, + "path": "regs.h", + "sha256": "15d9102c0bf9155ba02c9a3806be502e9ac5f788a30c5e5f17dd873e7bf2bc5a" + }, + { + "bytes": 4824, + "kind": "file", + "mode": 420, + "path": "regset.h", + "sha256": "2728d61c5e85efc5802bebd3310845d1e72f6554418810ae5edace22e49e0241" + }, + { + "bytes": 17659, + "kind": "file", + "mode": 420, + "path": "reload.h", + "sha256": "3abb0b6d1e9c65d38b61b185c88c5ebf37e51beaf2bf8912c3bdae3d2e46050b" + }, + { + "bytes": 1981, + "kind": "file", + "mode": 420, + "path": "resource.h", + "sha256": "5830422162a9e2bf8aae757776bf399fc10dbaa599504343f4effc3737605b81" + }, + { + "bytes": 1050, + "kind": "file", + "mode": 420, + "path": "rtl-error.h", + "sha256": "0398b05ae75bbaa2014dee32fe3b5614ba536c2a40e899985dc83c3db52feea8" + }, + { + "bytes": 8363, + "kind": "file", + "mode": 420, + "path": "rtl-iter.h", + "sha256": "4fa2852f3ea51e76acfbaca3d8297b94ad04d66cf4d2712a4475e17fba73a1d2" + }, + { + "bytes": 1991, + "kind": "file", + "mode": 420, + "path": "rtl-ssa.h", + "sha256": "bea1a8cd10f40cc67634ead997999942231497ab46f2b5ae5bf07991c5efa230" + }, + { + "bytes": 61440, + "kind": "file", + "mode": 420, + "path": "rtl.def", + "sha256": "0a5f215a95ba9df29b8fc743f7e477e2a493e16d2c91b5d5ad349846497e0764" + }, + { + "bytes": 160104, + "kind": "file", + "mode": 420, + "path": "rtl.h", + "sha256": "141702d3ec4ef6829ad9f8082850a8d4cfb7483b7e1cbc500de4e34418bacb9c" + }, + { + "bytes": 10466, + "kind": "file", + "mode": 420, + "path": "rtlanal.h", + "sha256": "5f3a7b97630a0a51cc4a40175e162f0ff85b9cc1d547b140496bbf783efc7895" + }, + { + "bytes": 850, + "kind": "file", + "mode": 420, + "path": "rtlhash.h", + "sha256": "28b8d35d5616c74c62fa31b5674318d7e0fba611f2bf06192fd636d0ea474b35" + }, + { + "bytes": 1797, + "kind": "file", + "mode": 420, + "path": "rtlhooks-def.h", + "sha256": "d5c4db6a98b8586c5f8dca8f225041caf4f3473ad95e54583866dae9f5a75a37" + }, + { + "bytes": 3848, + "kind": "file", + "mode": 420, + "path": "rtx-vector-builder.h", + "sha256": "f5e36f8d27a594b77cb0530ba42ea335c9eceabdab7961675efd0d0c5304d539" + }, + { + "bytes": 884, + "kind": "file", + "mode": 420, + "path": "run-rtl-passes.h", + "sha256": "9582b29310769bfaabfe8c23c637c6d8e1376edd9ec9bcc176fb38b99848c206" + }, + { + "bytes": 5642, + "kind": "file", + "mode": 420, + "path": "safe-ctype.h", + "sha256": "e7e2202f4b96bc269c5a885812b4a919c92e64e196d106b0a8db4a93572e7bd3" + }, + { + "bytes": 33537, + "kind": "file", + "mode": 420, + "path": "sanitizer.def", + "sha256": "e4069289ef31866fde4d1acdbd4a747e5d99586e058067b57b3343b0ea6f92ec" + }, + { + "bytes": 10369, + "kind": "file", + "mode": 420, + "path": "sbitmap.h", + "sha256": "9958ea326e761f3ff9c9526c7223b076fc4b9cec7c9453f21083a320210eb2c5" + }, + { + "bytes": 61641, + "kind": "file", + "mode": 420, + "path": "sched-int.h", + "sha256": "dc1a6562fe614c64146430ed54600e933c30a5061cec75aea95e46083477743a" + }, + { + "bytes": 6940, + "kind": "file", + "mode": 420, + "path": "sel-sched-dump.h", + "sha256": "d6d217bd789ab925858267a761092651c2fe7a9b5fd530ed9009ffa627e86aad" + }, + { + "bytes": 48949, + "kind": "file", + "mode": 420, + "path": "sel-sched-ir.h", + "sha256": "b17053bd5d174df238c8bc41be386f371ed678dc170e4cfb90dc5ba4d87e9e3a" + }, + { + "bytes": 920, + "kind": "file", + "mode": 420, + "path": "sel-sched.h", + "sha256": "c1f7a7e88904e6b3f2f64b94bd77dd2a27e986153047d5896099163227df8282" + }, + { + "bytes": 1493, + "kind": "file", + "mode": 420, + "path": "selftest-diagnostic.h", + "sha256": "3662ed457aa27813ef3f0802f4d48dc039213a453f434e757808e4f6a4f8e03a" + }, + { + "bytes": 3235, + "kind": "file", + "mode": 420, + "path": "selftest-rtl.h", + "sha256": "feda33ddda3dd145deed464204db202a5c8075fe9fdc30fcdbcae2bb71a69983" + }, + { + "bytes": 15588, + "kind": "file", + "mode": 420, + "path": "selftest.h", + "sha256": "d2cf01d8ef1465541dfbbf3bbd3fad1c32d2b35dc4d89d20f9095b54137d5719" + }, + { + "bytes": 7500, + "kind": "file", + "mode": 420, + "path": "sese.h", + "sha256": "bc5b78d700b487e41136fa6a422d603b033f853539c19cb03f4249b6e346c345" + }, + { + "bytes": 6205, + "kind": "file", + "mode": 420, + "path": "shortest-paths.h", + "sha256": "2eaff39957c8b8c6195b2eeebf1601d74aa203959545d223001b436311eab295" + }, + { + "bytes": 1165, + "kind": "file", + "mode": 420, + "path": "shrink-wrap.h", + "sha256": "4c02ba20251963758c89b10899393b28662d9463c09f23cdf1a26b63c9f6726e" + }, + { + "bytes": 1056, + "kind": "file", + "mode": 420, + "path": "signop.h", + "sha256": "aee11f55692dd8b2bda2d8a04c45b7d40379c55258dda5db1f03c3515631f8a0" + }, + { + "bytes": 6812, + "kind": "file", + "mode": 420, + "path": "sparseset.h", + "sha256": "c7eb94536c94fd08bcc4dc755716d6b4d975bd75f71f8186f3c0e510d449c5f2" + }, + { + "bytes": 1416, + "kind": "file", + "mode": 420, + "path": "spellcheck-tree.h", + "sha256": "ff8432c6862f0d119017626789c451dea9388b6ea74eba4f53186beabd135094" + }, + { + "bytes": 7360, + "kind": "file", + "mode": 420, + "path": "spellcheck.h", + "sha256": "330f381fc436a17de505c30f977ef2a2ee4692e0b0dffdb4b752a37f14ebc4d0" + }, + { + "bytes": 16880, + "kind": "file", + "mode": 420, + "path": "splay-tree-utils.h", + "sha256": "a13bf0f6af9d93a621f33172d1b3219e0d650edd91ee16e876098bf305cb2d27" + }, + { + "bytes": 6238, + "kind": "file", + "mode": 420, + "path": "splay-tree.h", + "sha256": "687795657e77a2e1105c5b92cb43e3c1de4a4ee53adcabe25ceceebbac42bb1d" + }, + { + "bytes": 6565, + "kind": "file", + "mode": 420, + "path": "sreal.h", + "sha256": "394ea5f83e88fdb19768e37b092e72117a9c1cb60e0af28042372d18fe702f47" + }, + { + "bytes": 29828, + "kind": "file", + "mode": 420, + "path": "ssa-iterators.h", + "sha256": "13a470f159f7f31c4495af6fc4ac50d7d82d8e31555ced66ae4444ddb261df84" + }, + { + "bytes": 1039, + "kind": "file", + "mode": 420, + "path": "ssa.h", + "sha256": "2a1314704e22f2752d1cf83d62ead4d5eb416839b438c4cad9410e5483b2a72a" + }, + { + "bytes": 2846, + "kind": "file", + "mode": 420, + "path": "statistics.h", + "sha256": "66de3aed44d510172a51dcd99cb2445354d12fa5c09fde43eb4048e5e2f32897" + }, + { + "bytes": 2034, + "kind": "file", + "mode": 420, + "path": "stmt.h", + "sha256": "234685ba8f567bf512c870e4cc462249937cb9c50c4845c8159009b827e2af03" + }, + { + "bytes": 5099, + "kind": "file", + "mode": 420, + "path": "stor-layout.h", + "sha256": "7052fef7a6781651860182890449787cddc5731f2e8a8b34ec9d3dc576873e67" + }, + { + "bytes": 3695, + "kind": "file", + "mode": 420, + "path": "streamer-hooks.h", + "sha256": "16e3d55112b0e7911eba6dad328e1a25fe4c607e35b6c33349b742db6a8a0960" + }, + { + "bytes": 1491, + "kind": "file", + "mode": 420, + "path": "stringpool.h", + "sha256": "9665167dd0003d60d4b72880ce61a477f1560c972d6097a2cdaa24e03d6cacd2" + }, + { + "bytes": 4744, + "kind": "file", + "mode": 420, + "path": "substring-locations.h", + "sha256": "c8ea502e9cd745da74c655fcfad7df2fc43733bb808d3742b7125715cc41cdbf" + }, + { + "bytes": 27511, + "kind": "file", + "mode": 420, + "path": "symbol-summary.h", + "sha256": "04876299a21be45ce7543996f24d0c327114b657f59bf5736fa2fd48037724d2" + }, + { + "bytes": 2076, + "kind": "file", + "mode": 420, + "path": "symtab-clones.h", + "sha256": "43d5903da1b24590ca92a4d3823de558f100d39ad9b7efc1ca11b28c82473eff" + }, + { + "bytes": 5041, + "kind": "file", + "mode": 420, + "path": "symtab-thunks.h", + "sha256": "367e3314b662a799a41d0403d2bb530aef3a8717e6e02908a6c51a89d1785a85" + }, + { + "bytes": 3734, + "kind": "file", + "mode": 420, + "path": "symtab.h", + "sha256": "7223c38982d25c4f205f961f82c6a2aa95fadcae197b96a5f75d6d0eb635820c" + }, + { + "bytes": 27679, + "kind": "file", + "mode": 420, + "path": "sync-builtins.def", + "sha256": "0968daba86d57430f56d28c37c797431ff3dc3efb11142562d9fa08d68dd86f0" + }, + { + "bytes": 42057, + "kind": "file", + "mode": 420, + "path": "system.h", + "sha256": "18acfc4265c88125ae0a190e31c2e865a7726c9fdcc057990e7bfeaa6e62c56c" + }, + { + "bytes": 4265, + "kind": "file", + "mode": 420, + "path": "target-def.h", + "sha256": "42926ae26ac08524751c635312c73d9e6fd6e95d05a61656ebc6bd0663a4fbf1" + }, + { + "bytes": 3413, + "kind": "file", + "mode": 420, + "path": "target-globals.h", + "sha256": "91615ca3c302e3d40c9eba9df5829ef15e0f6346c7ef57d85ed1a6179d181860" + }, + { + "bytes": 4060, + "kind": "file", + "mode": 420, + "path": "target-hooks-macros.h", + "sha256": "614946cc27b8d6b45efdebd6b8b92bba70b65161ad0e963f64891c106bd1ab62" + }, + { + "bytes": 5385, + "kind": "file", + "mode": 420, + "path": "target-insns.def", + "sha256": "86f6e27cf0de4f2b3b85faed07421312087dbf34ab1da0dfe0adc3aa0387ed1d" + }, + { + "bytes": 324195, + "kind": "file", + "mode": 420, + "path": "target.def", + "sha256": "4b09a0f3c94866ecfdaedcdf645e2e469a787b145dfc4bd3139e91a3cc5d4b7b" + }, + { + "bytes": 9322, + "kind": "file", + "mode": 420, + "path": "target.h", + "sha256": "196b78a30e006a4e6a4aa213a5b9f60dac0939ad7f7f60ce6418374488efca6c" + }, + { + "bytes": 14065, + "kind": "file", + "mode": 420, + "path": "targhooks.h", + "sha256": "63f067f4e08cbe1c4163e72263ab11db4f40904456a14f19a7ebac777db5154a" + }, + { + "bytes": 18489, + "kind": "file", + "mode": 420, + "path": "timevar.def", + "sha256": "ad36ee0acd2323014fd3030bed61940b5701eee1ac0aabbe8779eb444e443792" + }, + { + "bytes": 7825, + "kind": "file", + "mode": 420, + "path": "timevar.h", + "sha256": "2503c672b155608463651164ec3b7920ef9e3c3aedf327579890e6f6dea53747" + }, + { + "bytes": 15692, + "kind": "file", + "mode": 420, + "path": "tm-preds.h", + "sha256": "9ab00124c52294df63f666481b6201303792fd97155d67981bc74594ddf9157c" + }, + { + "bytes": 1184, + "kind": "file", + "mode": 420, + "path": "tm.h", + "sha256": "d384ae33a23985613c839280f1b4845b3415c055e32209c6bc795a4d594f018f" + }, + { + "bytes": 178, + "kind": "file", + "mode": 420, + "path": "tm_p.h", + "sha256": "d8729f976710961c7d34afc545be1c22dfb654be3425ce379511c6f837979141" + }, + { + "bytes": 2853, + "kind": "file", + "mode": 420, + "path": "toplev.h", + "sha256": "94db68428a4204367beebe06af7039204b0a1585b192dbe3fbc9e2c2e48aca3e" + }, + { + "bytes": 903, + "kind": "file", + "mode": 420, + "path": "tracer.h", + "sha256": "70fc64b69e8c6e69ba860d3611bff17183fac32f2d2a6050383d1627f87aef08" + }, + { + "bytes": 1937, + "kind": "file", + "mode": 420, + "path": "trans-mem.h", + "sha256": "48614ce6d1de0747f00f7e7d6688194aaee8b1cc95e198b8b9081f0001c0bef3" + }, + { + "bytes": 3892, + "kind": "file", + "mode": 420, + "path": "tree-affine.h", + "sha256": "a3d786765e5e8c9db578aa39b36f0ace394eb235d89c9b84709b4283e99ee361" + }, + { + "bytes": 5902, + "kind": "file", + "mode": 420, + "path": "tree-cfg.h", + "sha256": "d30ad2d326dc52920c97453044915ce687b15493d08c80bc4e14e7e8ff2ad510" + }, + { + "bytes": 1207, + "kind": "file", + "mode": 420, + "path": "tree-cfgcleanup.h", + "sha256": "24615be2b839893f983c6bd916065b7dbf708f5a8517c5905d8571d6527fa81e" + }, + { + "bytes": 23198, + "kind": "file", + "mode": 420, + "path": "tree-check.h", + "sha256": "81664ae9afd3c1ecd324c6bbdea316238e0ea2c088d7f01b71904d633725a39d" + }, + { + "bytes": 7260, + "kind": "file", + "mode": 420, + "path": "tree-chrec.h", + "sha256": "67399acc52c905646efc22970c64b744431ad89781dd5fe471ef0b2705bdb928" + }, + { + "bytes": 69861, + "kind": "file", + "mode": 420, + "path": "tree-core.h", + "sha256": "72c8a34ea0beb747d9b4ae82cc8c206dce09ed0de5b6a2e0e147df7c959274dc" + }, + { + "bytes": 25753, + "kind": "file", + "mode": 420, + "path": "tree-data-ref.h", + "sha256": "b5db489b124efdadac5fdb41ae52b43b833e2068bfe30e8d7bb32378ebebe324" + }, + { + "bytes": 1898, + "kind": "file", + "mode": 420, + "path": "tree-dfa.h", + "sha256": "e2682f2108c770b4cff558b4a94f34e727b63bc27952e35bb429d8bc10e9c45c" + }, + { + "bytes": 2740, + "kind": "file", + "mode": 420, + "path": "tree-diagnostic.h", + "sha256": "686c6456f152eebb3165a614a7bb9a023c9288321b45deb8dc48fcc9b7001e71" + }, + { + "bytes": 2882, + "kind": "file", + "mode": 420, + "path": "tree-dump.h", + "sha256": "d47a731de33f8ec5b39d1766423dd09f2c96166a97136a9ef3d2d45db2219cf1" + }, + { + "bytes": 2494, + "kind": "file", + "mode": 420, + "path": "tree-eh.h", + "sha256": "175e52e40899cf68d11021d9003601f4504e3645f77ab5660c469d34295055c3" + }, + { + "bytes": 1248, + "kind": "file", + "mode": 420, + "path": "tree-hash-traits.h", + "sha256": "e849d35541688b86c31bc9b8f680644932badbe00390fa10012b1f278d2bdc76" + }, + { + "bytes": 1922, + "kind": "file", + "mode": 420, + "path": "tree-hasher.h", + "sha256": "ee8dc16a1108fc9fd35fcd814fd4a46a4d91a3300199ebeee46cf6bd3d2b7dcb" + }, + { + "bytes": 845, + "kind": "file", + "mode": 420, + "path": "tree-if-conv.h", + "sha256": "4044e2f7b1a8b7c71ea1a4044ad475654b8deaa774515e79e93986b7ba22238f" + }, + { + "bytes": 8783, + "kind": "file", + "mode": 420, + "path": "tree-inline.h", + "sha256": "94fd38febea66c112ae50f7a40614f9d6a4a6891ce1e0c2ce9fabaf7b5b7dba5" + }, + { + "bytes": 1967, + "kind": "file", + "mode": 420, + "path": "tree-into-ssa.h", + "sha256": "281eb66117fa6e31a1c2a8dec62e6b7cd89fd254fce5c0b661e7251c7413d636" + }, + { + "bytes": 4209, + "kind": "file", + "mode": 420, + "path": "tree-iterator.h", + "sha256": "43f2b75441dddf1761845ccf1ba5801ec6cbe28c12b4d49247b6a0e28d0df0ee" + }, + { + "bytes": 2239, + "kind": "file", + "mode": 420, + "path": "tree-logical-location.h", + "sha256": "3ab97eca2ae52177f8569ca13446c7e042ac120dd5e268f7a350729460cca265" + }, + { + "bytes": 2743, + "kind": "file", + "mode": 420, + "path": "tree-nested.h", + "sha256": "4fad928b3dc11362c2a40724cb2c57ab833a094289ed0a543769eafc8984884f" + }, + { + "bytes": 1119, + "kind": "file", + "mode": 420, + "path": "tree-object-size.h", + "sha256": "92d5051512088e6eec0cc59ac147f6341324424b3097b007cc6fdddc3f5bcedf" + }, + { + "bytes": 2731, + "kind": "file", + "mode": 420, + "path": "tree-outof-ssa.h", + "sha256": "8f3c9e4aaa6c024e292ecec67bfd1f1dddc53a03ee3aa0d1800e8473ad2fd307" + }, + { + "bytes": 864, + "kind": "file", + "mode": 420, + "path": "tree-parloops.h", + "sha256": "93e5e2a2451f179f82e0bbb9e05212f86409afc0c8819449907eee3ffbf7ba61" + }, + { + "bytes": 33360, + "kind": "file", + "mode": 420, + "path": "tree-pass.h", + "sha256": "5c0d48970ef2feff54f820cedbd2ec03ed4429ebe01fcd418a0798fa2cdeb732" + }, + { + "bytes": 2233, + "kind": "file", + "mode": 420, + "path": "tree-phinodes.h", + "sha256": "0e30ea4024a1137cfbc0a9f111a95af10b81229f382d5c78ab7f3a758b5df4b0" + }, + { + "bytes": 2611, + "kind": "file", + "mode": 420, + "path": "tree-pretty-print.h", + "sha256": "55946e594a4411c6952e58ba0c48c0fc9b04f2d5343f4569c24e491a06c911a8" + }, + { + "bytes": 2639, + "kind": "file", + "mode": 420, + "path": "tree-scalar-evolution.h", + "sha256": "ac1fe4387efb0886401aab91be2a163eaef8e19d4c86edfc01ce7cabb46f2c89" + }, + { + "bytes": 1257, + "kind": "file", + "mode": 420, + "path": "tree-sra.h", + "sha256": "4de1ecd294cf8f170d9125bcc679e7e97cf6eddf196fbad815b1dcc09d7f0974" + }, + { + "bytes": 1660, + "kind": "file", + "mode": 420, + "path": "tree-ssa-address.h", + "sha256": "2e5ee918aadfad4eab3110ac015b58f0a422322837428b820d0fcad31e6f7c2a" + }, + { + "bytes": 1370, + "kind": "file", + "mode": 420, + "path": "tree-ssa-alias-compare.h", + "sha256": "fdcc413bd1c26e60ced05955775249adc50d845cc717e1232b771cbc46a10cd2" + }, + { + "bytes": 7908, + "kind": "file", + "mode": 420, + "path": "tree-ssa-alias.h", + "sha256": "e480abea7e5453f93991d93b68eba5f24172cd5025edc69d1903ecaac3377ab4" + }, + { + "bytes": 1080, + "kind": "file", + "mode": 420, + "path": "tree-ssa-ccp.h", + "sha256": "4aa56ee7936b971cdcfcfe02d8e50b7c73898148d0b13c900998cce4b3e3826c" + }, + { + "bytes": 925, + "kind": "file", + "mode": 420, + "path": "tree-ssa-coalesce.h", + "sha256": "d57695859d946a0a08b6ba67647d9f019719e7ae28d00aafa9090bb1ffd23821" + }, + { + "bytes": 783, + "kind": "file", + "mode": 420, + "path": "tree-ssa-dce.h", + "sha256": "39890e388df9c1e58ea3231fd8b62e83cdc94eacd9ca34697202432f512000fb" + }, + { + "bytes": 866, + "kind": "file", + "mode": 420, + "path": "tree-ssa-dom.h", + "sha256": "19e58e107972cbc4dd0c476501c9f22cfc8928e44656d5a0b63406a69fe1147f" + }, + { + "bytes": 1190, + "kind": "file", + "mode": 420, + "path": "tree-ssa-dse.h", + "sha256": "e3471ff30a880e9fb0b20536337e1c47ad81e95191a0d7a9d3f68769a446cc79" + }, + { + "bytes": 9848, + "kind": "file", + "mode": 420, + "path": "tree-ssa-live.h", + "sha256": "7eb1f5add837f73a595b6f99be137f4504bc78a2545d5113a4ac04c7dd40aee7" + }, + { + "bytes": 1487, + "kind": "file", + "mode": 420, + "path": "tree-ssa-loop-ivopts.h", + "sha256": "27b4830de909093ea950ef749f2bec5262292e20085e9b3f03e9c7560cf355ac" + }, + { + "bytes": 2216, + "kind": "file", + "mode": 420, + "path": "tree-ssa-loop-manip.h", + "sha256": "9180801003efef48b9ac6478249a61a2007cfbdb6ca6869bf6a843878ff04779" + }, + { + "bytes": 3026, + "kind": "file", + "mode": 420, + "path": "tree-ssa-loop-niter.h", + "sha256": "7210f337e00c14ab24f5e12a0548fe10ddd9a116fab8a026d1d4af53a3d1756b" + }, + { + "bytes": 2892, + "kind": "file", + "mode": 420, + "path": "tree-ssa-loop.h", + "sha256": "2dc61c12421e0fd2556fcbb4a3f09d983ec09487f443543dfd1f399e49970cdc" + }, + { + "bytes": 948, + "kind": "file", + "mode": 420, + "path": "tree-ssa-math-opts.h", + "sha256": "d691cd0b7efc3973eb7643177b9fb7fc703f535f8d3a2feb8721769838e57fb1" + }, + { + "bytes": 3960, + "kind": "file", + "mode": 420, + "path": "tree-ssa-operands.h", + "sha256": "a5952f0283876d4936a5f2d4b02986501eecb1648ae6df9aa1377cbe702b1c52" + }, + { + "bytes": 4169, + "kind": "file", + "mode": 420, + "path": "tree-ssa-propagate.h", + "sha256": "1999fca83931fd4e130324c8c322eeb584fc0ee93f2d5f792588fcc9b473f6ed" + }, + { + "bytes": 1298, + "kind": "file", + "mode": 420, + "path": "tree-ssa-reassoc.h", + "sha256": "6cc2f85619723a929dd0769d5072625b5fd8d50edc7421e70fff43edb7169d94" + }, + { + "bytes": 10715, + "kind": "file", + "mode": 420, + "path": "tree-ssa-sccvn.h", + "sha256": "321de0f0993e17553bb211f21edff5b4f1c11738d5551116f3b06a8393ce41f9" + }, + { + "bytes": 6924, + "kind": "file", + "mode": 420, + "path": "tree-ssa-scopedtables.h", + "sha256": "5fc7bd13d7161135656c45c6a9c7e3e2e76677cb871bd37306c2334a890cad9c" + }, + { + "bytes": 1524, + "kind": "file", + "mode": 420, + "path": "tree-ssa-strlen.h", + "sha256": "715849f809a9ec47d18dc8dce4bdef3b4e80327d0ffc711e4aca057142af2f34" + }, + { + "bytes": 917, + "kind": "file", + "mode": 420, + "path": "tree-ssa-ter.h", + "sha256": "e56a2853b629f9b88dde117aca2213d76329ddcd20a88536abf9cbc0bf3e1828" + }, + { + "bytes": 4235, + "kind": "file", + "mode": 420, + "path": "tree-ssa-threadedge.h", + "sha256": "256730ffac7856335a8ac3a080822cecfa7f330d77377fb806c370c84869ba92" + }, + { + "bytes": 4840, + "kind": "file", + "mode": 420, + "path": "tree-ssa-threadupdate.h", + "sha256": "d00fc4ff751939442bb13200c245be5c7ab180a7f72e7b319b20548e918612b3" + }, + { + "bytes": 3558, + "kind": "file", + "mode": 420, + "path": "tree-ssa.h", + "sha256": "cad297231afa3fe7cc90d66cd8507d13c037e5d1818e2b7d799b9a32d6e6efe9" + }, + { + "bytes": 4832, + "kind": "file", + "mode": 420, + "path": "tree-ssanames.h", + "sha256": "9137c7fe117fec9307874e6171240c6187918b3196b22565af89ec9c944f5349" + }, + { + "bytes": 1144, + "kind": "file", + "mode": 420, + "path": "tree-stdarg.h", + "sha256": "5a26f5d6c0099b6f338ed8b99cc028567836d8efdc08e26af4fb513456cec2f2" + }, + { + "bytes": 4350, + "kind": "file", + "mode": 420, + "path": "tree-streamer.h", + "sha256": "e0eef442b4a28d84342c008c03db818e0321a1e86a2308d5ab3fdde9a2786b58" + }, + { + "bytes": 28402, + "kind": "file", + "mode": 420, + "path": "tree-switch-conversion.h", + "sha256": "c57a807c586b9bc8badbeb0efca1998a5b02ddd772685fa45affa05d775d3ab5" + }, + { + "bytes": 4401, + "kind": "file", + "mode": 420, + "path": "tree-vector-builder.h", + "sha256": "4bf2efbba9eff4a89fc749d3e8eeeab4214413d01b7708fe398138fbbf445469" + }, + { + "bytes": 94603, + "kind": "file", + "mode": 420, + "path": "tree-vectorizer.h", + "sha256": "d8c0f2d77952e655c40122a1f81d332bbbf3b60d8a0e6e35a65b709f9fa82018" + }, + { + "bytes": 1736, + "kind": "file", + "mode": 420, + "path": "tree-vrp.h", + "sha256": "48a0510e236793b2b45f59b153f12e99e354ae7f522723859b6572c3890cf297" + }, + { + "bytes": 72523, + "kind": "file", + "mode": 420, + "path": "tree.def", + "sha256": "f70aa7747e4e7eb16e7b8e5b980ce7aad073f3eab04b0490b04757075751557f" + }, + { + "bytes": 263001, + "kind": "file", + "mode": 420, + "path": "tree.h", + "sha256": "e43b7e2a14af9d9f70d3665117a7c56022dc024e9d7d5342515480b661c1a4fb" + }, + { + "bytes": 2857, + "kind": "file", + "mode": 420, + "path": "treestruct.def", + "sha256": "ff574f07a550c10b969f9bc6e807cff29dd42165f5b4576346d582f61eb977d2" + }, + { + "bytes": 2074, + "kind": "file", + "mode": 420, + "path": "tristate.h", + "sha256": "d510e8c6a7577927866daa8ac11d119c0053aed4fd06b36e69d46094ac142ee3" + }, + { + "bytes": 876, + "kind": "file", + "mode": 420, + "path": "tsan.h", + "sha256": "0d38c04e33b5148e3b942a927cc527426b78ac11ed3ceb4f3269b021f90aa016" + }, + { + "bytes": 3858, + "kind": "file", + "mode": 420, + "path": "tsystem.h", + "sha256": "aca99131c169f3ad2b1dbdc9ea8212af4db1b60dea6504a4a898f3b709ee6fe8" + }, + { + "bytes": 1507, + "kind": "file", + "mode": 420, + "path": "typeclass.h", + "sha256": "79619807973c2ef13c659fa7b489d03b4f0d33999abdc6e764f24361d2b0175b" + }, + { + "bytes": 16565, + "kind": "file", + "mode": 420, + "path": "typed-splay-tree.h", + "sha256": "d0fa2a152a1ccae57677a247f8d3d0e0b7587b8c278b0a25599d93cfec060474" + }, + { + "bytes": 2454, + "kind": "file", + "mode": 420, + "path": "ubsan.h", + "sha256": "169467579ba4adbfd804265ac2bd7359ef16c79391fa6602f4d7f2033061bf6b" + }, + { + "bytes": 4631, + "kind": "file", + "mode": 420, + "path": "valtrack.h", + "sha256": "bb80a90527416b1719df1eb3f393a33a0dc0ea441192dacc83e58c69574f52da" + }, + { + "bytes": 2013, + "kind": "file", + "mode": 420, + "path": "value-pointer-equiv.h", + "sha256": "89196b6ff62143633c6a518df1836c04bb72e30afb08224e0dbdd75128069274" + }, + { + "bytes": 4832, + "kind": "file", + "mode": 420, + "path": "value-prof.h", + "sha256": "8d7d741b2c71b3c7e40e6391815f74052648c61c43ab79119776e74722dcba04" + }, + { + "bytes": 5296, + "kind": "file", + "mode": 420, + "path": "value-query.h", + "sha256": "f1393db4cd32c375b0ce3214da19c2349b24b7fa74d40afa387df74e30927dd1" + }, + { + "bytes": 1408, + "kind": "file", + "mode": 420, + "path": "value-range-pretty-print.h", + "sha256": "8212903dda4dede929ebe9dce14e52a435e858d377e1e2e32431d307f3a7c9c9" + }, + { + "bytes": 6554, + "kind": "file", + "mode": 420, + "path": "value-range-storage.h", + "sha256": "f6cde179c507cc69043d9dd279051d105070ac06dcda4b053e85b0c24763e3b4" + }, + { + "bytes": 35834, + "kind": "file", + "mode": 420, + "path": "value-range.h", + "sha256": "7e3b1ccb1268f0a3068503204f0de815e4bf7744b1c519f47f1a9673e10a3188" + }, + { + "bytes": 17660, + "kind": "file", + "mode": 420, + "path": "value-relation.h", + "sha256": "803a42ad4f6efc53d2e7da1e0860f2bf1431e30a274e2208d32c4c8db4609005" + }, + { + "bytes": 3366, + "kind": "file", + "mode": 420, + "path": "varasm.h", + "sha256": "20af661619be8b238c7e86125de78ee17ff8c1df86ba14819bc2f5d8c5d236b8" + }, + { + "bytes": 5396, + "kind": "file", + "mode": 420, + "path": "vec-perm-indices.h", + "sha256": "1615a0e5983a6ae79f9cd34924a43c6b6bc5bc63cd0bd8f688775fc7b41c1b8f" + }, + { + "bytes": 68181, + "kind": "file", + "mode": 420, + "path": "vec.h", + "sha256": "3b4f5d131eaaf0b85bd32d96b745296829e8b041e51f3edef9b315d95778e84e" + }, + { + "bytes": 20401, + "kind": "file", + "mode": 420, + "path": "vector-builder.h", + "sha256": "f8cd58ea9fb282c54da1234af84636a1c3a048ec945f994376afcbc4e752c505" + }, + { + "bytes": 885, + "kind": "file", + "mode": 420, + "path": "version.h", + "sha256": "fe068e90580c6b374a6edac2c134b2c4180d393a0147e373cefa33cf2869d1cc" + }, + { + "bytes": 6525, + "kind": "file", + "mode": 420, + "path": "vmsdbg.h", + "sha256": "99071fb0b5ecdf2815fbbfe637ed7c4b89dcfa1e524c5b818af845ca0db0cbb3" + }, + { + "bytes": 3388, + "kind": "file", + "mode": 420, + "path": "vr-values.h", + "sha256": "47dd314e60d70600a3f8dcc7a7ac53510c59dce4a6d25adb57fda92e8b315201" + }, + { + "bytes": 6900, + "kind": "file", + "mode": 420, + "path": "vtable-verify.h", + "sha256": "6bec4dbf6021c2e28cb381ac74f8fe642643c1b3089e0cf5ddd2adf96f672eb9" + }, + { + "bytes": 3351, + "kind": "file", + "mode": 420, + "path": "wide-int-bitmask.h", + "sha256": "8ba13aba55db5db81c466ba6746d4f69f5d42fa2fc9b003bbbf5e85e9fe3ee06" + }, + { + "bytes": 1410, + "kind": "file", + "mode": 420, + "path": "wide-int-print.h", + "sha256": "09fe308dede2d6b4440bfab52635e68e4d6530e9a63d49824dec7e67bd8a7d4e" + }, + { + "bytes": 113480, + "kind": "file", + "mode": 420, + "path": "wide-int.h", + "sha256": "f68d0a5f637239065ad46e0f6bcc840d3491e33b391ed85844eb1983b9d34f81" + }, + { + "bytes": 1177, + "kind": "file", + "mode": 420, + "path": "xcoff.h", + "sha256": "586e49f5466bd85323f6b458ba8c1beb99bed3bfb5f62fbe8a2ad5bbb87c26b1" + } + ], + "package_sha256": "3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f", + "schema": "unit03-header-member-pins-v1" +} diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/GENERATED-CONFIGURATION-VIEW-v1.json b/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/GENERATED-CONFIGURATION-VIEW-v1.json new file mode 100644 index 0000000000..97557a5537 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/GENERATED-CONFIGURATION-VIEW-v1.json @@ -0,0 +1,2314 @@ +{ + "configuration_arguments": { + "configuration_arguments": "../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04.1' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2", + "configure_default_options": [ + { + "name": "abi", + "value": "m64" + }, + { + "name": "cpu", + "value": "generic" + }, + { + "name": "arch_32", + "value": "i686" + }, + { + "name": "arch_64", + "value": "x86-64" + }, + { + "name": "tune", + "value": "generic" + } + ], + "interpretation": "published literal data; shell quoting parsed without shell execution", + "ordered_configure_argv": [ + "../src/configure", + "-v", + "--with-pkgversion=Ubuntu 13.3.0-6ubuntu2~24.04.1", + "--with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs", + "--enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2", + "--prefix=/usr", + "--with-gcc-major-version-only", + "--program-suffix=-13", + "--program-prefix=x86_64-linux-gnu-", + "--enable-shared", + "--enable-linker-build-id", + "--libexecdir=/usr/libexec", + "--without-included-gettext", + "--enable-threads=posix", + "--libdir=/usr/lib", + "--enable-nls", + "--enable-bootstrap", + "--enable-clocale=gnu", + "--enable-libstdcxx-debug", + "--enable-libstdcxx-time=yes", + "--with-default-libstdcxx-abi=new", + "--enable-libstdcxx-backtrace", + "--enable-gnu-unique-object", + "--disable-vtable-verify", + "--enable-plugin", + "--enable-default-pie", + "--with-system-zlib", + "--enable-libphobos-checking=release", + "--with-target-system-zlib=auto", + "--enable-objc-gc=auto", + "--enable-multiarch", + "--disable-werror", + "--enable-cet", + "--with-arch-32=i686", + "--with-abi=m64", + "--with-multilib-list=m32,m64,mx32", + "--enable-multilib", + "--with-tune=generic", + "--enable-offload-targets=nvptx-none=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-gcn/usr", + "--enable-offload-defaulted", + "--without-cuda-driver", + "--enable-checking=release", + "--build=x86_64-linux-gnu", + "--host=x86_64-linux-gnu", + "--target=x86_64-linux-gnu", + "--with-build-config=bootstrap-lto-lean", + "--enable-link-serialization=2" + ], + "thread_model": "posix" + }, + "configure_text_matches_pinned_driver": true, + "effective_configuration": false, + "full_C05": false, + "full_V03": false, + "generated_options_declarations_sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3", + "header_member_count": 472, + "header_pinset_sha256": "c0c6890ff27c90b5a919d8943a707d49497aa05f1329d7ab5b06fbe95ab2e47d", + "new_scientific_activity_credit": 0, + "observed_distro_macro_operations": [ + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 4, + "name": "DIST_DEFAULT_ASYNC_UNWIND", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_ASYNC_UNWIND 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 5, + "name": "DIST_DEFAULT_SSP", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_SSP 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 6, + "name": "DIST_DEFAULT_SSP_STRONG", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_SSP_STRONG 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 7, + "name": "DIST_DEFAULT_FORMAT_SECURITY", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_FORMAT_SECURITY 1" + }, + { + "body": "3", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 8, + "name": "DIST_DEFAULT_FORTIFY_SOURCE", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_FORTIFY_SOURCE 3" + }, + { + "body": "\"3\"", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 9, + "name": "DIST_DEFAULT_FORTIFY_SOURCE_S", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_FORTIFY_SOURCE_S \"3\"" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 10, + "name": "DIST_DEFAULT_RELRO", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_RELRO 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 11, + "name": "DIST_DEFAULT_BIND_NOW", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_BIND_NOW 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 12, + "name": "DIST_DEFAULT_STACK_CLASH", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_STACK_CLASH 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 13, + "name": "DIST_DEFAULT_CF_PROTECTION", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_CF_PROTECTION 1" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "ACCEL_COMPILER", + "line": 3, + "opening": "ACCEL_COMPILER", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 14, + "name": "DIST_DEFAULT_PKG_METADATA_SPEC", + "path": "distro-defaults.h", + "raw": "DIST_DEFAULT_PKG_METADATA_SPEC 1" + } + ], + "observed_host_macro_cells": { + "CROSS_DIRECTORY_STRUCTURE": [], + "DEFAULT_LINKER": [], + "ENABLE_DEFAULT_PIE": [ + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "USED_FOR_TARGET", + "line": 136, + "opening": "USED_FOR_TARGET", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 137, + "name": "ENABLE_DEFAULT_PIE", + "path": "auto-host.h", + "raw": "ENABLE_DEFAULT_PIE 1" + } + ], + "GCC_INCLUDE_DIR": [], + "HAVE_GNU_AS": [ + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "USED_FOR_TARGET", + "line": 1521, + "opening": "USED_FOR_TARGET", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 1522, + "name": "HAVE_GNU_AS", + "path": "auto-host.h", + "raw": "HAVE_GNU_AS 1" + } + ], + "HAVE_GNU_LD": [ + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "USED_FOR_TARGET", + "line": 1533, + "opening": "USED_FOR_TARGET", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 1534, + "name": "HAVE_GNU_LD", + "path": "auto-host.h", + "raw": "HAVE_GNU_LD 1" + } + ], + "HAVE_LD_SYSROOT": [ + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "USED_FOR_TARGET", + "line": 1762, + "opening": "USED_FOR_TARGET", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 1763, + "name": "HAVE_LD_SYSROOT", + "path": "auto-host.h", + "raw": "HAVE_LD_SYSROOT 1" + } + ], + "HAVE_LTO_PLUGIN": [ + { + "body": "2", + "conditions": [ + { + "branch": "initial", + "branch_expression": "USED_FOR_TARGET", + "line": 1792, + "opening": "USED_FOR_TARGET", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 1793, + "name": "HAVE_LTO_PLUGIN", + "path": "auto-host.h", + "raw": "HAVE_LTO_PLUGIN 2" + } + ], + "NATIVE_SYSTEM_HEADER_DIR": [], + "STANDARD_EXEC_PREFIX": [], + "STANDARD_LIBEXEC_PREFIX": [], + "TARGET_SYSTEM_ROOT": [] + }, + "ordered_tm_default_define_operations": [ + { + "body": "", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 2, + "name": "GCC_TM_H", + "path": "tm.h", + "raw": "GCC_TM_H" + }, + { + "body": "1", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "LIBC_GLIBC", + "line": 3, + "opening": "LIBC_GLIBC", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 4, + "name": "LIBC_GLIBC", + "path": "tm.h", + "raw": "LIBC_GLIBC 1" + }, + { + "body": "2", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "LIBC_UCLIBC", + "line": 6, + "opening": "LIBC_UCLIBC", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 7, + "name": "LIBC_UCLIBC", + "path": "tm.h", + "raw": "LIBC_UCLIBC 2" + }, + { + "body": "3", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "LIBC_BIONIC", + "line": 9, + "opening": "LIBC_BIONIC", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 10, + "name": "LIBC_BIONIC", + "path": "tm.h", + "raw": "LIBC_BIONIC 3" + }, + { + "body": "4", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "LIBC_MUSL", + "line": 12, + "opening": "LIBC_MUSL", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 13, + "name": "LIBC_MUSL", + "path": "tm.h", + "raw": "LIBC_MUSL 4" + }, + { + "body": "LIBC_GLIBC", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "DEFAULT_LIBC", + "line": 15, + "opening": "DEFAULT_LIBC", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 16, + "name": "DEFAULT_LIBC", + "path": "tm.h", + "raw": "DEFAULT_LIBC LIBC_GLIBC" + }, + { + "body": "0", + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "ANDROID_DEFAULT", + "line": 18, + "opening": "ANDROID_DEFAULT", + "opening_kind": "ifndef" + } + ], + "function_like": false, + "kind": "define", + "line": 19, + "name": "ANDROID_DEFAULT", + "path": "tm.h", + "raw": "ANDROID_DEFAULT 0" + } + ], + "ordered_tm_header_operations": [ + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "options.h", + "kind": "include", + "line": 22, + "literal": true, + "path": "tm.h", + "raw": "\"options.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "insn-constants.h", + "kind": "include", + "line": 23, + "literal": true, + "path": "tm.h", + "raw": "\"insn-constants.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/vxworks-dummy.h", + "kind": "include", + "line": 24, + "literal": true, + "path": "tm.h", + "raw": "\"config/vxworks-dummy.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/biarch64.h", + "kind": "include", + "line": 25, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/biarch64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/i386.h", + "kind": "include", + "line": 26, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/i386.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/unix.h", + "kind": "include", + "line": 27, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/unix.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/att.h", + "kind": "include", + "line": 28, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/att.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/elfos.h", + "kind": "include", + "line": 29, + "literal": true, + "path": "tm.h", + "raw": "\"config/elfos.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/gnu-user.h", + "kind": "include", + "line": 30, + "literal": true, + "path": "tm.h", + "raw": "\"config/gnu-user.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/glibc-stdint.h", + "kind": "include", + "line": 31, + "literal": true, + "path": "tm.h", + "raw": "\"config/glibc-stdint.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/x86-64.h", + "kind": "include", + "line": 32, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/x86-64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/gnu-user-common.h", + "kind": "include", + "line": 33, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/gnu-user-common.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/gnu-user64.h", + "kind": "include", + "line": 34, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/gnu-user64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/linux.h", + "kind": "include", + "line": 35, + "literal": true, + "path": "tm.h", + "raw": "\"config/linux.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/linux-android.h", + "kind": "include", + "line": 36, + "literal": true, + "path": "tm.h", + "raw": "\"config/linux-android.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/linux-common.h", + "kind": "include", + "line": 37, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/linux-common.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/linux64.h", + "kind": "include", + "line": 38, + "literal": true, + "path": "tm.h", + "raw": "\"config/i386/linux64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/initfini-array.h", + "kind": "include", + "line": 39, + "literal": true, + "path": "tm.h", + "raw": "\"config/initfini-array.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET", + "line": 41, + "opening": "defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "insn-flags.h", + "kind": "include", + "line": 42, + "literal": true, + "path": "tm.h", + "raw": "\"insn-flags.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "defined IN_GCC && !defined GENERATOR_FILE", + "line": 44, + "opening": "defined IN_GCC && !defined GENERATOR_FILE", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "insn-modes.h", + "kind": "include", + "line": 45, + "literal": true, + "path": "tm.h", + "raw": "\"insn-modes.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "defaults.h", + "kind": "include", + "line": 47, + "literal": true, + "path": "tm.h", + "raw": "\"defaults.h\"" + } + ], + "original_execution": false, + "package_literal_header_graph": { + "compiler_search_semantics_proven": false, + "conditional_branches_evaluated": false, + "ordered_edges": [ + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_CONFIG_H", + "line": 1, + "opening": "GCC_CONFIG_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "auto-host.h", + "kind": "include", + "line": 6, + "literal": true, + "package_member": "auto-host.h", + "package_member_candidates": [ + "auto-host.h" + ], + "path": "config.h", + "raw": "\"auto-host.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_CONFIG_H", + "line": 1, + "opening": "GCC_CONFIG_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 7, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "ansidecl.h", + "kind": "include", + "line": 8, + "literal": true, + "package_member": "ansidecl.h", + "package_member_candidates": [ + "ansidecl.h" + ], + "path": "config.h", + "raw": "\"ansidecl.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "options.h", + "kind": "include", + "line": 22, + "literal": true, + "package_member": "options.h", + "package_member_candidates": [ + "options.h" + ], + "path": "tm.h", + "raw": "\"options.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "insn-constants.h", + "kind": "include", + "line": 23, + "literal": true, + "package_member": "insn-constants.h", + "package_member_candidates": [ + "insn-constants.h" + ], + "path": "tm.h", + "raw": "\"insn-constants.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/vxworks-dummy.h", + "kind": "include", + "line": 24, + "literal": true, + "package_member": "config/vxworks-dummy.h", + "package_member_candidates": [ + "config/vxworks-dummy.h" + ], + "path": "tm.h", + "raw": "\"config/vxworks-dummy.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/biarch64.h", + "kind": "include", + "line": 25, + "literal": true, + "package_member": "config/i386/biarch64.h", + "package_member_candidates": [ + "config/i386/biarch64.h" + ], + "path": "tm.h", + "raw": "\"config/i386/biarch64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/i386.h", + "kind": "include", + "line": 26, + "literal": true, + "package_member": "config/i386/i386.h", + "package_member_candidates": [ + "config/i386/i386.h" + ], + "path": "tm.h", + "raw": "\"config/i386/i386.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/unix.h", + "kind": "include", + "line": 27, + "literal": true, + "package_member": "config/i386/unix.h", + "package_member_candidates": [ + "config/i386/unix.h" + ], + "path": "tm.h", + "raw": "\"config/i386/unix.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/att.h", + "kind": "include", + "line": 28, + "literal": true, + "package_member": "config/i386/att.h", + "package_member_candidates": [ + "config/i386/att.h" + ], + "path": "tm.h", + "raw": "\"config/i386/att.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/elfos.h", + "kind": "include", + "line": 29, + "literal": true, + "package_member": "config/elfos.h", + "package_member_candidates": [ + "config/elfos.h" + ], + "path": "tm.h", + "raw": "\"config/elfos.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/gnu-user.h", + "kind": "include", + "line": 30, + "literal": true, + "package_member": "config/gnu-user.h", + "package_member_candidates": [ + "config/gnu-user.h" + ], + "path": "tm.h", + "raw": "\"config/gnu-user.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/glibc-stdint.h", + "kind": "include", + "line": 31, + "literal": true, + "package_member": "config/glibc-stdint.h", + "package_member_candidates": [ + "config/glibc-stdint.h" + ], + "path": "tm.h", + "raw": "\"config/glibc-stdint.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/x86-64.h", + "kind": "include", + "line": 32, + "literal": true, + "package_member": "config/i386/x86-64.h", + "package_member_candidates": [ + "config/i386/x86-64.h" + ], + "path": "tm.h", + "raw": "\"config/i386/x86-64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/gnu-user-common.h", + "kind": "include", + "line": 33, + "literal": true, + "package_member": "config/i386/gnu-user-common.h", + "package_member_candidates": [ + "config/i386/gnu-user-common.h" + ], + "path": "tm.h", + "raw": "\"config/i386/gnu-user-common.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/gnu-user64.h", + "kind": "include", + "line": 34, + "literal": true, + "package_member": "config/i386/gnu-user64.h", + "package_member_candidates": [ + "config/i386/gnu-user64.h" + ], + "path": "tm.h", + "raw": "\"config/i386/gnu-user64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/linux.h", + "kind": "include", + "line": 35, + "literal": true, + "package_member": "config/linux.h", + "package_member_candidates": [ + "config/linux.h" + ], + "path": "tm.h", + "raw": "\"config/linux.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/linux-android.h", + "kind": "include", + "line": 36, + "literal": true, + "package_member": "config/linux-android.h", + "package_member_candidates": [ + "config/linux-android.h" + ], + "path": "tm.h", + "raw": "\"config/linux-android.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/linux-common.h", + "kind": "include", + "line": 37, + "literal": true, + "package_member": "config/i386/linux-common.h", + "package_member_candidates": [ + "config/i386/linux-common.h" + ], + "path": "tm.h", + "raw": "\"config/i386/linux-common.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/linux64.h", + "kind": "include", + "line": 38, + "literal": true, + "package_member": "config/i386/linux64.h", + "package_member_candidates": [ + "config/i386/linux64.h" + ], + "path": "tm.h", + "raw": "\"config/i386/linux64.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 21, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/initfini-array.h", + "kind": "include", + "line": 39, + "literal": true, + "package_member": "config/initfini-array.h", + "package_member_candidates": [ + "config/initfini-array.h" + ], + "path": "tm.h", + "raw": "\"config/initfini-array.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET", + "line": 41, + "opening": "defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "insn-flags.h", + "kind": "include", + "line": 42, + "literal": true, + "package_member": "insn-flags.h", + "package_member_candidates": [ + "insn-flags.h" + ], + "path": "tm.h", + "raw": "\"insn-flags.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "defined IN_GCC && !defined GENERATOR_FILE", + "line": 44, + "opening": "defined IN_GCC && !defined GENERATOR_FILE", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "insn-modes.h", + "kind": "include", + "line": 45, + "literal": true, + "package_member": "insn-modes.h", + "package_member_candidates": [ + "insn-modes.h" + ], + "path": "tm.h", + "raw": "\"insn-modes.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_H", + "line": 1, + "opening": "GCC_TM_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "defaults.h", + "kind": "include", + "line": 47, + "literal": true, + "package_member": "defaults.h", + "package_member_candidates": [ + "defaults.h" + ], + "path": "tm.h", + "raw": "\"defaults.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_P_H", + "line": 1, + "opening": "GCC_TM_P_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 3, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/i386-protos.h", + "kind": "include", + "line": 4, + "literal": true, + "package_member": "config/i386/i386-protos.h", + "package_member_candidates": [ + "config/i386/i386-protos.h" + ], + "path": "tm_p.h", + "raw": "\"config/i386/i386-protos.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_P_H", + "line": 1, + "opening": "GCC_TM_P_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 3, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "config/linux-protos.h", + "kind": "include", + "line": 5, + "literal": true, + "package_member": "config/linux-protos.h", + "package_member_candidates": [ + "config/linux-protos.h" + ], + "path": "tm_p.h", + "raw": "\"config/linux-protos.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "GCC_TM_P_H", + "line": 1, + "opening": "GCC_TM_P_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "IN_GCC", + "line": 3, + "opening": "IN_GCC", + "opening_kind": "ifdef" + } + ], + "delimiter": "quote", + "include_name": "tm-preds.h", + "kind": "include", + "line": 6, + "literal": true, + "package_member": "tm-preds.h", + "package_member_candidates": [ + "tm-preds.h" + ], + "path": "tm_p.h", + "raw": "\"tm-preds.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "OPTIONS_H", + "line": 3, + "opening": "OPTIONS_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "flag-types.h", + "kind": "include", + "line": 6, + "literal": true, + "package_member": "flag-types.h", + "package_member_candidates": [ + "flag-types.h" + ], + "path": "options.h", + "raw": "\"flag-types.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "OPTIONS_H", + "line": 3, + "opening": "OPTIONS_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "config/i386/i386-opts.h", + "kind": "include", + "line": 8, + "literal": true, + "package_member": "config/i386/i386-opts.h", + "package_member_candidates": [ + "config/i386/i386-opts.h" + ], + "path": "options.h", + "raw": "\"config/i386/i386-opts.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "OPTIONS_H", + "line": 3, + "opening": "OPTIONS_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "GCC_C_COMMON_C", + "line": 12417, + "opening": "GCC_C_COMMON_C", + "opening_kind": "ifdef" + } + ], + "delimiter": "angle", + "include_name": "cpplib.h", + "kind": "include", + "line": 12419, + "literal": true, + "path": "options.h", + "raw": "" + }, + { + "conditions": [], + "delimiter": "quote", + "include_name": "config/vxworks-dummy.h", + "kind": "include", + "line": 54, + "literal": true, + "package_member": "config/vxworks-dummy.h", + "package_member_candidates": [ + "config/vxworks-dummy.h" + ], + "path": "config/i386/i386.h", + "raw": "\"config/vxworks-dummy.h\"" + }, + { + "conditions": [], + "delimiter": "quote", + "include_name": "config/i386/i386-opts.h", + "kind": "include", + "line": 56, + "literal": true, + "package_member": "config/i386/i386-opts.h", + "package_member_candidates": [ + "config/i386/i386-opts.h" + ], + "path": "config/i386/i386.h", + "raw": "\"config/i386/i386-opts.h\"" + }, + { + "conditions": [], + "delimiter": "quote", + "include_name": "x86-tune.def", + "kind": "include", + "line": 292, + "literal": true, + "package_member": "config/i386/x86-tune.def", + "package_member_candidates": [ + "config/i386/x86-tune.def" + ], + "path": "config/i386/i386.h", + "raw": "\"x86-tune.def\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "line": 2275, + "opening": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "wide-int-bitmask.h", + "kind": "include", + "line": 2278, + "literal": true, + "package_member": "wide-int-bitmask.h", + "package_member_candidates": [ + "wide-int-bitmask.h" + ], + "path": "config/i386/i386.h", + "raw": "\"wide-int-bitmask.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "line": 2275, + "opening": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "i386-isa.def", + "kind": "include", + "line": 2283, + "literal": true, + "package_member": "config/i386/i386-isa.def", + "package_member_candidates": [ + "config/i386/i386-isa.def" + ], + "path": "config/i386/i386.h", + "raw": "\"i386-isa.def\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "line": 2275, + "opening": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "opening_kind": "if" + } + ], + "delimiter": "quote", + "include_name": "i386-isa.def", + "kind": "include", + "line": 2296, + "literal": true, + "package_member": "config/i386/i386-isa.def", + "package_member_candidates": [ + "config/i386/i386-isa.def" + ], + "path": "config/i386/i386.h", + "raw": "\"i386-isa.def\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "line": 2275, + "opening": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "opening_kind": "if" + }, + { + "branch": "initial", + "branch_expression": "GENERATOR_FILE", + "line": 2387, + "opening": "GENERATOR_FILE", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "insn-attr-common.h", + "kind": "include", + "line": 2389, + "literal": true, + "package_member": "insn-attr-common.h", + "package_member_candidates": [ + "insn-attr-common.h" + ], + "path": "config/i386/i386.h", + "raw": "\"insn-attr-common.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "line": 2275, + "opening": "!defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)", + "opening_kind": "if" + }, + { + "branch": "initial", + "branch_expression": "GENERATOR_FILE", + "line": 2387, + "opening": "GENERATOR_FILE", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "common/config/i386/i386-cpuinfo.h", + "kind": "include", + "line": 2391, + "literal": true, + "package_member": "common/config/i386/i386-cpuinfo.h", + "package_member_candidates": [ + "common/config/i386/i386-cpuinfo.h" + ], + "path": "config/i386/i386.h", + "raw": "\"common/config/i386/i386-cpuinfo.h\"" + }, + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "I386_OPTS_H", + "line": 25, + "opening": "I386_OPTS_H", + "opening_kind": "ifndef" + } + ], + "delimiter": "quote", + "include_name": "stringop.def", + "kind": "include", + "line": 34, + "literal": true, + "package_member": "config/i386/stringop.def", + "package_member_candidates": [ + "config/i386/stringop.def" + ], + "path": "config/i386/i386-opts.h", + "raw": "\"stringop.def\"" + } + ], + "roots": [ + "config.h", + "tm.h", + "tm_p.h", + "distro-defaults.h" + ], + "unresolved_or_external_edges": [ + { + "conditions": [ + { + "branch": "initial", + "branch_expression": "OPTIONS_H", + "line": 3, + "opening": "OPTIONS_H", + "opening_kind": "ifndef" + }, + { + "branch": "initial", + "branch_expression": "GCC_C_COMMON_C", + "line": 12417, + "opening": "GCC_C_COMMON_C", + "opening_kind": "ifdef" + } + ], + "delimiter": "angle", + "include_name": "cpplib.h", + "kind": "include", + "line": 12419, + "literal": true, + "path": "options.h", + "raw": "" + } + ], + "visited_members": [ + "ansidecl.h", + "auto-host.h", + "common/config/i386/i386-cpuinfo.h", + "config.h", + "config/elfos.h", + "config/glibc-stdint.h", + "config/gnu-user.h", + "config/i386/att.h", + "config/i386/biarch64.h", + "config/i386/gnu-user-common.h", + "config/i386/gnu-user64.h", + "config/i386/i386-isa.def", + "config/i386/i386-opts.h", + "config/i386/i386-protos.h", + "config/i386/i386.h", + "config/i386/linux-common.h", + "config/i386/linux64.h", + "config/i386/stringop.def", + "config/i386/unix.h", + "config/i386/x86-64.h", + "config/i386/x86-tune.def", + "config/initfini-array.h", + "config/linux-android.h", + "config/linux-protos.h", + "config/linux.h", + "config/vxworks-dummy.h", + "defaults.h", + "distro-defaults.h", + "flag-types.h", + "insn-attr-common.h", + "insn-constants.h", + "insn-flags.h", + "insn-modes.h", + "options.h", + "tm-preds.h", + "tm.h", + "tm_p.h", + "wide-int-bitmask.h" + ] + }, + "physical_costs": "OPEN_NOT_ZERO", + "required_members": { + "auto-host.h": { + "bytes": 59854, + "sha256": "9ada1fb9d8c6f4d39e950fc3dfcefb81767c418d924a7e254774bda30e5a4537" + }, + "b-header-vars": { + "bytes": 40843, + "sha256": "2af4b5b1ac67ee4075226fe87c19e0926c430c9e560034da071e6581902623a5" + }, + "config.h": { + "bytes": 217, + "sha256": "41150681fe15436d17aa3a0b45b57345a65238fb945b14b0ca2bdf857e723e48" + }, + "configargs.h": { + "bytes": 1640, + "sha256": "987c0a46b31907a609c15c749988921053bdf81e77d3a695c981d7be7a9378fc" + }, + "defaults.h": { + "bytes": 42136, + "sha256": "012ff1fece4d6d52b00647a49472045054094afa11637d7d5fdaced73ab95eae" + }, + "distro-defaults.h": { + "bytes": 488, + "sha256": "2ccde3e3cbe4fc9fba8da310295f775d5bd77d9742090f74708f4ff24f683f6d" + }, + "options.h": { + "bytes": 504497, + "sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3" + }, + "tm.h": { + "bytes": 1184, + "sha256": "d384ae33a23985613c839280f1b4845b3415c055e32209c6bc795a4d594f018f" + }, + "tm_p.h": { + "bytes": 178, + "sha256": "d8729f976710961c7d34afc545be1c22dfb654be3425ce379511c6f837979141" + } + }, + "residual_configuration_cells": [ + { + "cell": "final-installed-gcc.o DRIVER_DEFINES", + "needed": "ordered compiled -D/-U operations, forced includes, prefixes/target/version/CONFIGURE_SPECS; final installed-stage chain", + "status": "UNAVAILABLE_BUILDLOG_HTTP503" + }, + { + "cell": "final-installed-cppdefault.o/cppbuiltin.o PREPROCESSOR_DEFINES", + "needed": "actual include-root, sysroot and relevant feature definitions; no template substitution", + "status": "UNAVAILABLE_BUILDLOG_HTTP503" + }, + { + "cell": "final-installed-prefix.o and collect2.o definitions", + "needed": "PREFIX/version and configured collect2 program/sysroot choices with final-stage provenance", + "status": "UNAVAILABLE_BUILDLOG_HTTP503" + }, + { + "cell": "specs.h lang_specs_files expansion", + "needed": "ordered generated language-spec include list or complete source derivation", + "status": "NOT_IN_PLUGIN_AND_LOG_UNAVAILABLE" + }, + { + "cell": "multilib.h tables/genmultilib inputs", + "needed": "actual generated tables or all eleven configured genmultilib inputs", + "status": "NOT_IN_PLUGIN_AND_LOG_UNAVAILABLE" + }, + { + "cell": "option initialisation", + "needed": "options.h is observed; relevant generated initialisers/decoding remain necessary", + "status": "DECLARATIONS_OBSERVED_INITIALISERS_OPEN" + }, + { + "cell": "query-producing semantics and installed correspondence", + "needed": "applied source, ordered phase/query rules, external specs, full preprocessing/PCH/tool closure, actual namespace observations and interval", + "status": "OPEN" + } + ], + "same_build_package": { + "association": "exact matching checksum rows in retained records", + "buildinfo_sha256": "6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83", + "bytes": 1451870, + "changes_sha256": "db40bf0222e18a133216deb061955adc3a54ef4ff6e1b4fe469ff8c404422b61", + "filename": "gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "sha256": "3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f", + "signature_verified": false + }, + "schema": "unit03-published-generated-config-view-v1", + "selected_b_header_vars": { + "CONFIG_H": [ + "config.h", + "auto-host.h", + "ansidecl.h" + ], + "GTM_H": [ + "tm.h", + "options.h", + "config/vxworks-dummy.h", + "biarch64.h", + "i386.h", + "unix.h", + "att.h", + "elfos.h", + "gnu-user.h", + "glibc-stdint.h", + "x86-64.h", + "gnu-user-common.h", + "gnu-user64.h", + "linux.h", + "linux-android.h", + "linux-common.h", + "linux64.h", + "initfini-array.h", + "defaults.h", + "insn-constants.h" + ], + "TM_H": [ + "tm.h", + "options.h", + "config/vxworks-dummy.h", + "biarch64.h", + "i386.h", + "unix.h", + "att.h", + "elfos.h", + "gnu-user.h", + "glibc-stdint.h", + "x86-64.h", + "gnu-user-common.h", + "gnu-user64.h", + "linux.h", + "linux-android.h", + "linux-common.h", + "linux64.h", + "initfini-array.h", + "defaults.h", + "insn-constants.h", + "insn-flags.h", + "options.h", + "flag-types.h", + "i386-opts.h", + "stringop.def", + "x86-tune.def", + "common/config/i386/i386-cpuinfo.h", + "i386-isa.def" + ], + "TM_P_H": [ + "tm_p.h", + "config/i386/i386-protos.h", + "linux-protos.h", + "tm-preds.h" + ] + }, + "source_build_status": "exact publisher/build checksum association and observed generated bytes; no regeneration or complete installed-query equivalence claim" +} diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/SOURCE-PROJECTION-COMPARISON-v1.json b/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/SOURCE-PROJECTION-COMPARISON-v1.json new file mode 100644 index 0000000000..382eab7925 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/SOURCE-PROJECTION-COMPARISON-v1.json @@ -0,0 +1,30 @@ +[ + { + "bytes_equal": true, + "frozen_source_projection_sha256": "8f3518bc748dd1f7c1f19bcc2d59201405b5a599820256ff1ecdf9ea63392daf", + "package_member": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "package_sha256": "8f3518bc748dd1f7c1f19bcc2d59201405b5a599820256ff1ecdf9ea63392daf", + "scope": "byte comparison to prior conditional source projection; no full installed-source semantics proof" + }, + { + "bytes_equal": true, + "frozen_source_projection_sha256": "5507732a24911a39abbf7d2526fd8c1b09db98c0519b7388b7143a3c01bdbccb", + "package_member": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "package_sha256": "5507732a24911a39abbf7d2526fd8c1b09db98c0519b7388b7143a3c01bdbccb", + "scope": "byte comparison to prior conditional source projection; no full installed-source semantics proof" + }, + { + "bytes_equal": true, + "frozen_source_projection_sha256": "9007684d92746203c280b53a69debfff75851e31c1cd9ce6cd5c61f705d5179c", + "package_member": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "package_sha256": "9007684d92746203c280b53a69debfff75851e31c1cd9ce6cd5c61f705d5179c", + "scope": "byte comparison to prior conditional source projection; no full installed-source semantics proof" + }, + { + "bytes_equal": true, + "frozen_source_projection_sha256": "ce71be1f80fac59483042c6dd421bd267765c44f977505955b2718e30da612c4", + "package_member": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "package_sha256": "ce71be1f80fac59483042c6dd421bd267765c44f977505955b2718e30da612c4", + "scope": "byte comparison to prior conditional source projection; no full installed-source semantics proof" + } +] diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/configured_data_v1.py b/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/configured_data_v1.py new file mode 100644 index 0000000000..e55e574d29 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/configured_data_v1.py @@ -0,0 +1,197 @@ +"""Bounded passive Debian/GCC configured-data readers. No source execution. + +Published generated headers remain data. This parser does not preprocess C, +execute make or shell commands, or return an effective GCC configuration. +""" +from __future__ import annotations +import hashlib +import io +import re +import tarfile +import gzip +import lzma +import bz2 +from dataclasses import dataclass + +MAX_COMPRESSED = 64 * 1024 * 1024 +MAX_DECOMPRESSED = 256 * 1024 * 1024 +MAX_MEMBERS = 16384 +MAX_MEMBER = 64 * 1024 * 1024 + + +class DataRefusal(ValueError): + pass + + +def digest(data: bytes) -> str: + return hashlib.sha256(data).hexdigest() + + +def debian_control(data: bytes) -> dict[str, str]: + """One unsigned retained control paragraph; duplicate fields are errors. + + Signed wrappers, a second paragraph and malformed continuations are refused. + This establishes parsing/identity only and never claims signature validity. + """ + if type(data) is not bytes or len(data) > 1024 * 1024 or b"\0" in data: + raise DataRefusal("control bound/type") + try: text = data.decode("utf-8", "strict") + except UnicodeError as error: raise DataRefusal("control encoding") from error + if text.startswith("-----BEGIN"): + raise DataRefusal("signed wrapper needs independent signature/wrapper handling") + fields, current, ended = {}, None, False + for number, raw in enumerate(text.split("\n"), 1): + line = raw[:-1] if raw.endswith("\r") else raw + if not line: + if fields: ended = True + continue + if ended: raise DataRefusal("multiple control paragraphs") + if line[0] in " \t": + if current is None: raise DataRefusal("orphan continuation") + fields[current] += "\n" + line[1:] + continue + match = re.fullmatch(r"([A-Za-z0-9][A-Za-z0-9-]*):(?:[ \t]?)(.*)", line) + if not match: raise DataRefusal("malformed control field at line " + str(number)) + current = match[1].lower() + if current in fields: raise DataRefusal("duplicate control field: " + current) + fields[current] = match[2] + if not fields: raise DataRefusal("empty control data") + return fields + + +def sha256_rows(fields: dict[str, str]) -> dict[str, tuple[int, str]]: + if "checksums-sha256" not in fields: raise DataRefusal("missing SHA256 section") + result = {} + for line in fields["checksums-sha256"].split("\n"): + if not line.strip(): continue + match = re.fullmatch(r"([0-9a-f]{64})[ \t]+([0-9]+)[ \t]+([^ \t/]+)", line) + if not match: raise DataRefusal("malformed SHA256 row") + hexdigest, raw_size, filename = match.groups() + if filename in result: raise DataRefusal("duplicate checksum filename: " + filename) + if filename in (".", "..") or "\0" in filename: raise DataRefusal("unsafe checksum filename") + size = int(raw_size) + if size > MAX_DECOMPRESSED: raise DataRefusal("checksum member size bound") + result[filename] = (size, hexdigest) + return result + + +def same_build_package(changes: bytes, buildinfo: bytes, filename: str, + expected_source: str, expected_version: str) -> dict: + first, second = debian_control(changes), debian_control(buildinfo) + for fields in (first, second): + if fields.get("source") != expected_source or fields.get("version") != expected_version: + raise DataRefusal("source/version association differs") + if "amd64" not in fields.get("architecture", "").split(): + raise DataRefusal("amd64 architecture missing") + one, two = sha256_rows(first), sha256_rows(second) + if filename not in one or filename not in two: raise DataRefusal("exact package filename absent") + if one[filename] != two[filename]: raise DataRefusal("changes/buildinfo package identity disagrees") + size, hexdigest = one[filename] + return {"filename": filename, "bytes": size, "sha256": hexdigest, + "changes_sha256": digest(changes), "buildinfo_sha256": digest(buildinfo), + "signature_verified": False, "association": "exact matching checksum rows in retained records"} + + +def strict_ar(data: bytes) -> list[dict]: + if type(data) is not bytes or len(data) > MAX_COMPRESSED or not data.startswith(b"!\n"): + raise DataRefusal("ar magic/type/size") + index, result, seen = 8, [], set() + while index < len(data): + start = index + if len(data) - index < 60: raise DataRefusal("truncated ar header") + header = data[index:index+60]; index += 60 + if header[58:60] != b"`\n": raise DataRefusal("ar header trailer") + raw_name = header[:16].rstrip(b" ") + if raw_name.startswith((b"#1/", b"/")): raise DataRefusal("extended ar names unsupported") + if raw_name.endswith(b"/"): raw_name = raw_name[:-1] + numeric={} + for label,start,end,base in (("timestamp",16,28,10),("uid",28,34,10), + ("gid",34,40,10),("mode",40,48,8)): + value=header[start:end].strip() + pattern=rb"[0-7]+" if base==8 else rb"[0-9]+" + if not re.fullmatch(pattern,value):raise DataRefusal("ar numeric metadata: "+label) + numeric[label]=int(value,base) + try: + name = raw_name.decode("ascii", "strict") + size_text = header[48:58].strip() + if not re.fullmatch(rb"[0-9]+", size_text): raise DataRefusal("ar size syntax") + size = int(size_text) + except UnicodeError as error: raise DataRefusal("ar name encoding") from error + if not re.fullmatch(r"[A-Za-z0-9_.+-]+", name) or name in (".", ".."): + raise DataRefusal("unsafe ar member") + if name in seen: raise DataRefusal("duplicate ar member: " + name) + seen.add(name) + if size > MAX_COMPRESSED or index + size > len(data): raise DataRefusal("truncated/oversize ar payload") + payload = data[index:index+size]; index += size + if size % 2: + if index >= len(data) or data[index:index+1] != b"\n": raise DataRefusal("ar alignment byte") + index += 1 + result.append({"name": name, "offset": start, "data_offset": start+60, + "bytes": size, "sha256": digest(payload), "data": payload, + "raw_header": header.hex(), **numeric}) + if not result or result[0]["name"] != "debian-binary" or result[0]["data"] != b"2.0\n": + raise DataRefusal("Debian format/version") + controls = [r for r in result if r["name"].startswith("control.tar")] + payloads = [r for r in result if r["name"].startswith("data.tar")] + if len(result) != 3 or len(controls) != 1 or len(payloads) != 1: + raise DataRefusal("Debian ar member topology") + return result + + +def decompress_member(name: str, data: bytes) -> bytes: + if len(data) > MAX_COMPRESSED: raise DataRefusal("compressed bound") + if name.endswith(".xz"): opener = lzma.LZMAFile + elif name.endswith(".gz"): opener = gzip.GzipFile + elif name.endswith(".bz2"): opener = bz2.BZ2File + elif name.endswith(".tar"): return data + else: raise DataRefusal("unsupported passive compression: " + name) + with opener(io.BytesIO(data), "rb") as stream: + result = stream.read(MAX_DECOMPRESSED + 1) + if len(result) > MAX_DECOMPRESSED: raise DataRefusal("decompressed bound") + return result + + +def safe_tar_name(name: str) -> str: + if "\0" in name or name.startswith("/") or "\\" in name: raise DataRefusal("unsafe tar member path") + while name.startswith("./"): name = name[2:] + pieces = name.rstrip("/").split("/") + if any(piece in ("", ".", "..") for piece in pieces): + if name in ("", "."): return "." + raise DataRefusal("unsafe/ambiguous tar member path") + return "/".join(pieces) + + +def strict_tar(data: bytes) -> list[dict]: + """Return raw member kind/alias records; never extract aliases to disk.""" + if type(data) is not bytes or len(data) > MAX_DECOMPRESSED: raise DataRefusal("tar bound/type") + result, seen, total, used_end = [], set(), 0, 0 + with tarfile.open(fileobj=io.BytesIO(data), mode="r:") as archive: + for member in archive: + if len(result) >= MAX_MEMBERS: raise DataRefusal("tar member count") + name = safe_tar_name(member.name) + if name in seen: raise DataRefusal("duplicate tar member path: " + name) + seen.add(name) + if member.size > MAX_MEMBER: raise DataRefusal("tar member byte bound") + total += member.size + if total > MAX_DECOMPRESSED: raise DataRefusal("tar aggregate byte bound") + kind = "file" if member.isfile() else ("directory" if member.isdir() else + ("symlink" if member.issym() else ("hardlink" if member.islnk() else "other"))) + record = {"path": name, "raw_path": member.name, "kind": kind, + "typeflag": member.type.hex(), "bytes": member.size, + "mode": member.mode, "uid": member.uid, "gid": member.gid, + "linkname": member.linkname, "header_offset": member.offset, + "data_offset": member.offset_data} + used_end=max(used_end,member.offset_data+((member.size+511)//512)*512) + if kind == "file": + stream = archive.extractfile(member) + if stream is None: raise DataRefusal("missing regular tar body") + body = stream.read(member.size + 1) + if len(body) != member.size: raise DataRefusal("truncated regular tar body") + record.update(data=body, sha256=digest(body)) + result.append(record) + # tarfile stops at an end marker. Authenticate that no hidden nonzero tail + # was silently ignored, retaining the original complete tar bytes in the + # enclosing package. A valid ustar/GNU archive supplies two zero blocks. + if len(data)%512 or len(data)-used_end<1024 or any(data[used_end:]): + raise DataRefusal("tar termination/padding or hidden nonzero tail") + return result diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/generated_config_v1.py b/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/generated_config_v1.py new file mode 100644 index 0000000000..480be94000 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/generated_config_v1.py @@ -0,0 +1,286 @@ +"""Exact published GCC generated-header data, with ordered conditional structure. + +This is a data parser, not a C preprocessor or an effective-configuration oracle. +Header guards, conditional branches and macro operations remain explicit. Object +build -D/-U/forced-include operations and complete query semantics remain open. +""" +from __future__ import annotations +import json +import posixpath +import re +import shlex +from pathlib import Path +from typing import Mapping +from configured_data_v1 import DataRefusal, digest, same_build_package + +PINSET_SHA256 = "c0c6890ff27c90b5a919d8943a707d49497aa05f1329d7ab5b06fbe95ab2e47d" +PACKAGE_SHA256 = "3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f" +PACKAGE = "gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb" +CHANGES_SHA256 = "db40bf0222e18a133216deb061955adc3a54ef4ff6e1b4fe469ff8c404422b61" +BUILDINFO_SHA256 = "6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83" +ROOTS = ("config.h", "auto-host.h", "configargs.h", "distro-defaults.h", + "options.h", "tm.h", "tm_p.h", "b-header-vars", "defaults.h") +MAX_HEADER = 8 * 1024 * 1024 +MAX_CORPUS = 64 * 1024 * 1024 +MAX_OPERATIONS = 65536 + + +def pinned_members() -> dict: + data = Path(__file__).with_name("header-member-pins-v1.json").read_bytes() + if digest(data) != PINSET_SHA256: raise DataRefusal("published header pinset changed") + pinset = json.loads(data) + if pinset.get("package_sha256") != PACKAGE_SHA256: raise DataRefusal("package pin differs") + return pinset + + +def verify_headers(headers: Mapping[str, bytes]) -> None: + expected = {row["path"]:row for row in pinned_members()["members"]} + if set(expected) != set(headers): raise DataRefusal("exact published header corpus differs") + total = 0 + for name, data in headers.items(): + if type(data) is not bytes or len(data)>MAX_HEADER: raise DataRefusal("header type/size") + total += len(data) + if (total>MAX_CORPUS or len(data)!=expected[name]["bytes"] + or digest(data)!=expected[name]["sha256"]): + raise DataRefusal("published generated/source header identity: "+name) + + +def load_headers(member_directory: str | Path) -> dict[str, bytes]: + pinset = pinned_members() + root = Path(member_directory) / pinset["member_root"] + result = {} + for row in pinset["members"]: + with (root / row["path"]).open("rb") as stream: + result[row["path"]] = stream.read(row["bytes"]+1) + verify_headers(result) + return result + + +def _splice_and_mask(data: bytes) -> tuple[str, list[int]]: + """C backslash-newline splicing and comment masking; retain physical origins.""" + if type(data) is not bytes or len(data)>MAX_HEADER or b"\0" in data: + raise DataRefusal("header syntax type/size") + if re.search(rb"\?\?[=/'()!<>-]",data): + raise DataRefusal("trigraph-bearing header requires separate lexical rule") + try: source=data.decode("utf-8", "strict") + except UnicodeError as error: raise DataRefusal("header encoding") from error + chars, origins, index, line = [], [], 0, 1 + while index < len(source): + if source.startswith("\\\n",index):index+=2;line+=1;continue + if source.startswith("\\\r\n",index):index+=3;line+=1;continue + char=source[index];chars.append(char);origins.append(line) + if char=="\n":line+=1 + index+=1 + source="".join(chars);out=list(source);index=0;quote=None + while index list[dict]: + """Return ordered literal directive data without evaluating C conditionals.""" + text, origins = _splice_and_mask(data) + operations, stack, offset = [], [], 0 + pieces=text.split("\n") + for piece_index,piece in enumerate(pieces): + logical=piece+("\n" if piece_index=MAX_OPERATIONS:raise DataRefusal("header operation bound") + record={"path":name,"line":physical,"kind":kind,"raw":raw, + "conditions":[dict(frame) for frame in stack]} + if kind in ("if","ifdef","ifndef"): + stack.append({"opening_kind":kind,"opening":raw,"line":physical, + "branch":"initial","branch_expression":raw}) + elif kind in ("else","elif"): + if not stack:raise DataRefusal("unmatched header conditional branch") + if stack[-1]["branch"]=="else":raise DataRefusal("branch after header else") + stack[-1]["branch"]=kind;stack[-1]["branch_expression"]=raw + elif kind=="endif": + if not stack:raise DataRefusal("unmatched header endif") + stack.pop() + elif kind in ("include","include_next"): + literal=re.fullmatch(r'"([^"\n]+)"|<([^>\n]+)>',raw) + record.update(literal=bool(literal),include_name=(literal[1] or literal[2]) if literal else None, + delimiter=("quote" if literal[1] else "angle") if literal else None) + elif kind=="define": + macro=re.match(r"([A-Za-z_]\w*)(.*)\Z",raw,re.S) + if not macro:raise DataRefusal("malformed header define") + record.update(name=macro[1],body=macro[2].lstrip(),function_like=macro[2].startswith("(")) + elif kind=="undef": + if not re.fullmatch(r"[A-Za-z_]\w*",raw):raise DataRefusal("malformed header undef") + record["name"]=raw + operations.append(record) + if stack:raise DataRefusal("unterminated header conditional") + return operations + + +_STRING = r'"(?:\\.|[^"\\])*"' + + +def c_string_sequence(text: str) -> str: + """Decode a deliberately small rejecting C literal grammar, never eval.""" + if type(text) is not str or len(text)>MAX_HEADER:raise DataRefusal("C string type/size") + result=[];index=0 + escapes={"n":"\n","r":"\r","t":"\t","v":"\v","b":"\b","f":"\f", + "a":"\a","\\":"\\",'"':'"',"'":"'","?":"?"} + while index=len(text):raise DataRefusal("truncated C escape") + char=text[index];index+=1 + if char in escapes:result.append(escapes[char]) + elif char in "01234567": + digits=char + while index255:raise DataRefusal("out-of-byte C octal escape") + result.append(chr(number)) + elif char=="x": + match=re.match(r"[0-9A-Fa-f]+",text[index:]) + if not match:raise DataRefusal("empty C hex escape") + number=int(match[0],16);index+=len(match[0]) + if number>255:raise DataRefusal("out-of-byte C hex escape") + result.append(chr(number)) + else:raise DataRefusal("unsupported C escape") + if index>=len(text):raise DataRefusal("unterminated C string") + index+=1 + return "".join(result) + + +def configargs(data: bytes) -> dict: + text,_=_splice_and_mask(data) + result={} + for name in ("configuration_arguments","thread_model"): + matches=list(re.finditer(r"\b"+name+r"\s*\[\s*\]\s*=\s*((?:"+_STRING+r"\s*)+)\s*;",text)) + if len(matches)!=1:raise DataRefusal("configargs literal initializer: "+name) + result[name]=c_string_sequence(matches[0][1]) + array=re.search(r"configure_default_options\s*\[\s*\]\s*=\s*\{(.*?)\};",text,re.S) + if not array:raise DataRefusal("configure default option array missing") + pair=re.compile(r"\{\s*("+_STRING+r")\s*,\s*("+_STRING+r")\s*\}") + remaining=pair.sub("",array[1]) + if remaining.replace(",","").strip():raise DataRefusal("nonliteral configure default option") + result["configure_default_options"]=[{"name":c_string_sequence(m[1]),"value":c_string_sequence(m[2])} + for m in pair.finditer(array[1])] + result["ordered_configure_argv"]=shlex.split(result["configuration_arguments"],posix=True) + result["interpretation"]="published literal data; shell quoting parsed without shell execution" + return result + + +def header_vars(data: bytes) -> dict[str,list[str]]: + if type(data) is not bytes or len(data)>MAX_HEADER:raise DataRefusal("header-vars bound/type") + result={};tokens=0 + text=data.decode("ascii","strict").replace("\\\n","") + for line in text.split("\n"): + if not line.strip():continue + match=re.fullmatch(r"([A-Z_][A-Z0-9_]*)=(.*)",line) + if not match or "$" in match[2] or "`" in match[2]:raise DataRefusal("nonliteral b-header-vars data") + if match[1] in result:raise DataRefusal("duplicate b-header-vars field") + result[match[1]]=match[2].split() + tokens+=len(result[match[1]]) + if len(result)>1024 or tokens>MAX_OPERATIONS:raise DataRefusal("b-header-vars representation bound") + return result + + +def package_include_graph(headers: Mapping[str,bytes], roots: tuple[str,...]) -> dict: + """Literal package-member relationships, not the compiler's search machine.""" + pending=list(roots);visited=set();edges=[];unresolved=[] + while pending: + name=pending.pop(0) + if name in visited:continue + if len(visited)>=1024:raise DataRefusal("package header graph node bound") + visited.add(name) + if name not in headers: + unresolved.append({"source":name,"reason":"root not in package members"});continue + for operation in header_operations(headers[name],name): + if operation["kind"] not in ("include","include_next"):continue + edge=dict(operation) + if operation["literal"] and operation["delimiter"]=="quote" and operation["kind"]=="include": + literal=operation["include_name"] + candidates=list(dict.fromkeys((posixpath.normpath(posixpath.join(posixpath.dirname(name),literal)),literal))) + present=[candidate for candidate in candidates if candidate in headers] + edge["package_member_candidates"]=present + if len(present)==1: + edge["package_member"]=present[0];pending.append(present[0]) + else:unresolved.append(edge) + else:unresolved.append(edge) + edges.append(edge) + return {"roots":list(roots),"visited_members":sorted(visited),"ordered_edges":edges, + "unresolved_or_external_edges":unresolved, + "conditional_branches_evaluated":False,"compiler_search_semantics_proven":False} + + +def construct_generated_config_view(headers: Mapping[str,bytes], changes: bytes, + buildinfo: bytes, embedded: bytes) -> dict: + verify_headers(headers) + if digest(changes)!=CHANGES_SHA256 or digest(buildinfo)!=BUILDINFO_SHA256: + raise DataRefusal("same version is not the pinned retained build") + association=same_build_package(changes,buildinfo,PACKAGE,"gcc-13","13.3.0-6ubuntu2~24.04.1") + if association["sha256"]!=PACKAGE_SHA256 or association["bytes"]!=1451870: + raise DataRefusal("exact pinned plugin package association differs") + arguments=configargs(headers["configargs.h"]) + reference=json.loads(embedded) + if reference.get("matches")!=[arguments["configuration_arguments"]]: + raise DataRefusal("published configargs and pinned executable embedded text differ") + operations={name:header_operations(headers[name],name) for name in ROOTS if name!="b-header-vars"} + distro=[operation for operation in operations["distro-defaults.h"] if operation["kind"] in ("define","undef")] + tm=[operation for operation in operations["tm.h"] if operation["kind"] in ("include","include_next")] + target_defaults=[operation for operation in operations["tm.h"] if operation["kind"]=="define"] + relevant=("ENABLE_DEFAULT_PIE","HAVE_LD_SYSROOT","HAVE_LTO_PLUGIN","HAVE_GNU_LD", + "HAVE_GNU_AS","CROSS_DIRECTORY_STRUCTURE","DEFAULT_LINKER","TARGET_SYSTEM_ROOT", + "STANDARD_EXEC_PREFIX","STANDARD_LIBEXEC_PREFIX","GCC_INCLUDE_DIR","NATIVE_SYSTEM_HEADER_DIR") + host_cells={name:[operation for operation in operations["auto-host.h"] + if operation.get("name")==name and operation["kind"] in ("define","undef")] + for name in relevant} + var_data=header_vars(headers["b-header-vars"]) + graph=package_include_graph(headers,("config.h","tm.h","tm_p.h","distro-defaults.h")) + required={name:{"bytes":len(headers[name]),"sha256":digest(headers[name])} for name in ROOTS} + residual=[ + {"cell":"final-installed-gcc.o DRIVER_DEFINES","status":"UNAVAILABLE_BUILDLOG_HTTP503","needed":"ordered compiled -D/-U operations, forced includes, prefixes/target/version/CONFIGURE_SPECS; final installed-stage chain"}, + {"cell":"final-installed-cppdefault.o/cppbuiltin.o PREPROCESSOR_DEFINES","status":"UNAVAILABLE_BUILDLOG_HTTP503","needed":"actual include-root, sysroot and relevant feature definitions; no template substitution"}, + {"cell":"final-installed-prefix.o and collect2.o definitions","status":"UNAVAILABLE_BUILDLOG_HTTP503","needed":"PREFIX/version and configured collect2 program/sysroot choices with final-stage provenance"}, + {"cell":"specs.h lang_specs_files expansion","status":"NOT_IN_PLUGIN_AND_LOG_UNAVAILABLE","needed":"ordered generated language-spec include list or complete source derivation"}, + {"cell":"multilib.h tables/genmultilib inputs","status":"NOT_IN_PLUGIN_AND_LOG_UNAVAILABLE","needed":"actual generated tables or all eleven configured genmultilib inputs"}, + {"cell":"option initialisation","status":"DECLARATIONS_OBSERVED_INITIALISERS_OPEN","needed":"options.h is observed; relevant generated initialisers/decoding remain necessary"}, + {"cell":"query-producing semantics and installed correspondence","status":"OPEN","needed":"applied source, ordered phase/query rules, external specs, full preprocessing/PCH/tool closure, actual namespace observations and interval"}] + return {"schema":"unit03-published-generated-config-view-v1","same_build_package":association, + "header_pinset_sha256":PINSET_SHA256,"header_member_count":len(headers),"required_members":required, + "configuration_arguments":arguments,"configure_text_matches_pinned_driver":True, + "ordered_tm_header_operations":tm,"ordered_tm_default_define_operations":target_defaults, + "observed_distro_macro_operations":distro,"observed_host_macro_cells":host_cells, + "selected_b_header_vars":{name:var_data[name] for name in ("CONFIG_H","TM_H","GTM_H","TM_P_H")}, + "package_literal_header_graph":graph,"generated_options_declarations_sha256":digest(headers["options.h"]), + "source_build_status":"exact publisher/build checksum association and observed generated bytes; no regeneration or complete installed-query equivalence claim", + "residual_configuration_cells":residual,"effective_configuration":False,"full_C05":False,"full_V03":False, + "original_execution":False,"new_scientific_activity_credit":0,"physical_costs":"OPEN_NOT_ZERO"} + + +def require_effective_configuration(*args,**kwargs): + view=construct_generated_config_view(*args,**kwargs) + raise DataRefusal("effective GCC configuration remains unproved: "+ + ", ".join(row["cell"] for row in view["residual_configuration_cells"])) diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/header-member-pins-v1.json b/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/header-member-pins-v1.json new file mode 100644 index 0000000000..784c168d51 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/header-member-pins-v1.json @@ -0,0 +1,3311 @@ +{ + "member_root": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/", + "members": [ + { + "bytes": 4978, + "kind": "file", + "mode": 420, + "path": "ada/gcc-interface/ada-tree.def", + "sha256": "023fa7450452b94ef3d2c508b2a378e59d8688f30699769ce0ed6d2bfeceac48" + }, + { + "bytes": 2945, + "kind": "file", + "mode": 420, + "path": "addresses.h", + "sha256": "f3d9edb2e4328d6c9619e835b87b5e3f6e14d4ede997bbb73d1bff083c80bc00" + }, + { + "bytes": 2184, + "kind": "file", + "mode": 420, + "path": "alias.h", + "sha256": "c5b72a9516a7eca30a957d1f76cc7c8a932e0a28583b3098e99375a9b25f5c88" + }, + { + "bytes": 2507, + "kind": "file", + "mode": 420, + "path": "align.h", + "sha256": "4c9ae2bac830bd5024c670a17296f902aa9bba4584c30317f02eb5fbcb1526e7" + }, + { + "bytes": 224, + "kind": "file", + "mode": 420, + "path": "all-tree.def", + "sha256": "bcad5255616b42ac69bbb250184c8cce7e020d1330397fd22d78c8daea826a15" + }, + { + "bytes": 15524, + "kind": "file", + "mode": 420, + "path": "alloc-pool.h", + "sha256": "536ca12849b965f7516424aff8e05cbbb54b802eb29c92f548af3217c3fcde32" + }, + { + "bytes": 11777, + "kind": "file", + "mode": 420, + "path": "ansidecl.h", + "sha256": "06716406a6cd33f5bf987864ce2ffe27a5977393bfb28b7ce87621a67e05f91d" + }, + { + "bytes": 1535, + "kind": "file", + "mode": 420, + "path": "array-traits.h", + "sha256": "af336c61ed00f1362de0043ceb92f06fe5f7360f2f4a11bfb5c8ba92702fd57e" + }, + { + "bytes": 8837, + "kind": "file", + "mode": 420, + "path": "asan.h", + "sha256": "7c9f6f7fe091d89eb48ead7aaf5bc26a177a90c4e76739e1839c88cfbb70f023" + }, + { + "bytes": 8716, + "kind": "file", + "mode": 420, + "path": "attr-fnspec.h", + "sha256": "f45972c3926988376dacf76a0003996a5a7a1dd26397380774d9c810aae3eab7" + }, + { + "bytes": 13872, + "kind": "file", + "mode": 420, + "path": "attribs.h", + "sha256": "ce4072bfd29536a4b8e91c985f19ae31a3b7650b4f0ce2f06c291551693b0d77" + }, + { + "bytes": 59854, + "kind": "file", + "mode": 420, + "path": "auto-host.h", + "sha256": "9ada1fb9d8c6f4d39e950fc3dfcefb81767c418d924a7e254774bda30e5a4537" + }, + { + "bytes": 1143, + "kind": "file", + "mode": 420, + "path": "auto-profile.h", + "sha256": "8527a175c79dba1a8a8f77b128e6cd4adf210d6a13bf7f21324f2a75044bdcfa" + }, + { + "bytes": 40843, + "kind": "file", + "mode": 420, + "path": "b-header-vars", + "sha256": "2af4b5b1ac67ee4075226fe87c19e0926c430c9e560034da071e6581902623a5" + }, + { + "bytes": 1067, + "kind": "file", + "mode": 420, + "path": "backend.h", + "sha256": "a769348fbcf2cc4f62cb4104535b37328472ff6679e9d4ebd7525a91b1ac4f9f" + }, + { + "bytes": 18619, + "kind": "file", + "mode": 420, + "path": "basic-block.h", + "sha256": "f2619ee16c3a42f950b0b427af2956dcbf2a22fb7041fd43b529331fbd3ca4bf" + }, + { + "bytes": 1277, + "kind": "file", + "mode": 420, + "path": "bb-reorder.h", + "sha256": "e7d3be61e74749602b32d77554f5d56de18f5ef167867b250e482e64406a8f17" + }, + { + "bytes": 37570, + "kind": "file", + "mode": 420, + "path": "bitmap.h", + "sha256": "fdd9be6d48e92ca2fcd053c56c3e746d120745f51fe1acbc1f4490ffb54156db" + }, + { + "bytes": 20110, + "kind": "file", + "mode": 420, + "path": "builtin-attrs.def", + "sha256": "fdc2318336bbbd9a51502898c6b46e625ead62fe907aad576f35f7569fd8b26a" + }, + { + "bytes": 53342, + "kind": "file", + "mode": 420, + "path": "builtin-types.def", + "sha256": "a7e984fe65c232e518c037d5bb4d16cf74e8f81738eed401492248b164196264" + }, + { + "bytes": 95755, + "kind": "file", + "mode": 420, + "path": "builtins.def", + "sha256": "bbd89bafc02c73b4ec6b15b4322fc517fa8fe58ded45a747892b0e4f12d78d0b" + }, + { + "bytes": 7200, + "kind": "file", + "mode": 420, + "path": "builtins.h", + "sha256": "15c5c27a7b2e9be79373d761604f12a4ed74d3504778d4a2469f0356807fca79" + }, + { + "bytes": 171, + "kind": "file", + "mode": 420, + "path": "bversion.h", + "sha256": "8ad05936a160214baea3c8aadede4475fdf3ece6962f85e61e962fd6590b11ef" + }, + { + "bytes": 4172, + "kind": "file", + "mode": 420, + "path": "c-family/c-common.def", + "sha256": "4385cc13d39e61053458f6d79ab7626c136c03b58976d613a33732351c295f18" + }, + { + "bytes": 59318, + "kind": "file", + "mode": 420, + "path": "c-family/c-common.h", + "sha256": "d5498885fbcd854b4c26f557501490d5e00b40c549270d10b7bc11a9320ed7f7" + }, + { + "bytes": 8033, + "kind": "file", + "mode": 420, + "path": "c-family/c-objc.h", + "sha256": "460eb8b3721b06a7d87e4f19083d96ba7a78a56ab312b5a68d659ec42420195a" + }, + { + "bytes": 9549, + "kind": "file", + "mode": 420, + "path": "c-family/c-pragma.h", + "sha256": "14a75ae7cdb8b0e84b4269f0afb2f8dbf429e840ec42f609511602da8e8da98a" + }, + { + "bytes": 5324, + "kind": "file", + "mode": 420, + "path": "c-family/c-pretty-print.h", + "sha256": "fc1bd1ad525e0ee3b6b481b8038aad31b98fe8dbebb1f3ffcea9e75987c45d82" + }, + { + "bytes": 35134, + "kind": "file", + "mode": 420, + "path": "c-tree.h", + "sha256": "bdd621639433a009ef8ab0204f78ba4020c9f6357b246234f6bf3939017cceaa" + }, + { + "bytes": 5291, + "kind": "file", + "mode": 420, + "path": "calls.h", + "sha256": "188f6dd04a978928c8ef21b6a6ec30b467d57da3e3b1c8d9828aa1023a32d830" + }, + { + "bytes": 845, + "kind": "file", + "mode": 420, + "path": "ccmp.h", + "sha256": "84864c1ceac3d4e5a8dcde662ce2ca9652fa687d7df61c1b1a73d68193b874ef" + }, + { + "bytes": 6828, + "kind": "file", + "mode": 420, + "path": "cfg-flags.def", + "sha256": "f5566f1fab9f1589b2c7b9d96c9b73dcbc02523f686bc264d07c3d03a9efd8fb" + }, + { + "bytes": 6429, + "kind": "file", + "mode": 420, + "path": "cfg.h", + "sha256": "2288eb67df53ccfcdff79d0a9d8fb690f06c2de84e5bd5c2c1b307f371c635b6" + }, + { + "bytes": 3473, + "kind": "file", + "mode": 420, + "path": "cfganal.h", + "sha256": "9d1626ebff3462fc9b4f8518ea47992e84dd112f63fe6e6b7fe31270ddcdecc5" + }, + { + "bytes": 1016, + "kind": "file", + "mode": 420, + "path": "cfgbuild.h", + "sha256": "75674de6ab66278b0b0991e2ba376482c273b2f7e8d025650a85e5285a2b598e" + }, + { + "bytes": 1303, + "kind": "file", + "mode": 420, + "path": "cfgcleanup.h", + "sha256": "cb1dfd9de683927cbaae3e207f0aa98aeb07cab5147180017dd7a11cc9fc8a78" + }, + { + "bytes": 966, + "kind": "file", + "mode": 420, + "path": "cfgexpand.h", + "sha256": "d9b617983dc0a9ab8d4b648c63ff0b633b7e2f81768cde0dc36368f46c34e3a1" + }, + { + "bytes": 11428, + "kind": "file", + "mode": 420, + "path": "cfghooks.h", + "sha256": "1fdd54693186cb5c8abf38667ac146e94bc69164049da65bd34275b7fcf85da0" + }, + { + "bytes": 27914, + "kind": "file", + "mode": 420, + "path": "cfgloop.h", + "sha256": "fe09467eea2c176f44e53a0d369d18ad6a489620dd18b426d1d3c40e6f095167" + }, + { + "bytes": 2499, + "kind": "file", + "mode": 420, + "path": "cfgloopmanip.h", + "sha256": "d5287436e49903f67cfbb8137e0a028a5a541df43b0252023d37ae17a9491226" + }, + { + "bytes": 2688, + "kind": "file", + "mode": 420, + "path": "cfgrtl.h", + "sha256": "3ccab97cd645994aecb66045edb13b71017dbf012ee086b97cd6dcb22781be99" + }, + { + "bytes": 124842, + "kind": "file", + "mode": 420, + "path": "cgraph.h", + "sha256": "77b643cde2dc6c81e6e28d3265c05dd1ddb4c99d9b37841901a35edc08e8e612" + }, + { + "bytes": 5632, + "kind": "file", + "mode": 420, + "path": "cif-code.def", + "sha256": "f27acb01a17cc0c62c01aa4982155115bfd69deeec1766e3c26cd630973d2405" + }, + { + "bytes": 1694, + "kind": "file", + "mode": 420, + "path": "collect-utils.h", + "sha256": "69db322f7d423f2e7bfcdf0ccae1c90c3853c69ac8c209c0e894d6784f0d19b7" + }, + { + "bytes": 8594, + "kind": "file", + "mode": 420, + "path": "collect2-aix.h", + "sha256": "7870fdbea37370be7ec92824a4fe4e7c24bfe62767b448801efccfa0f83df7bd" + }, + { + "bytes": 1308, + "kind": "file", + "mode": 420, + "path": "collect2.h", + "sha256": "ffc4a02f68215b91971535d2569ddb46c65626f83aad16bb9d7cc5e31280e10d" + }, + { + "bytes": 4891, + "kind": "file", + "mode": 420, + "path": "color-macros.h", + "sha256": "baa85177f344454041d22b1147ed169ab68064beb0cd4a7adfc8fcbeefca7b3f" + }, + { + "bytes": 6023, + "kind": "file", + "mode": 420, + "path": "common/config/i386/i386-cpuinfo.h", + "sha256": "5bab14b3fb8ef807879c249b52041d158c3983e5c149f175cdc7aacb865f188a" + }, + { + "bytes": 2766, + "kind": "file", + "mode": 420, + "path": "conditions.h", + "sha256": "15954fefc8d00dd5d2a3ceaf17f957a78bcf08ca25681703fba345649bf4c97a" + }, + { + "bytes": 17996, + "kind": "file", + "mode": 420, + "path": "config/elfos.h", + "sha256": "255fe5da07efc03e66574ab45a1c92deb4ed7cc064f83677e1cae109065b8354" + }, + { + "bytes": 2854, + "kind": "file", + "mode": 420, + "path": "config/glibc-stdint.h", + "sha256": "45e61be0214122daed3ce73a9edec9709c8d1b191a424ed6efd6db4d5b31f032" + }, + { + "bytes": 6054, + "kind": "file", + "mode": 420, + "path": "config/gnu-user.h", + "sha256": "8f3518bc748dd1f7c1f19bcc2d59201405b5a599820256ff1ecdf9ea63392daf" + }, + { + "bytes": 3186, + "kind": "file", + "mode": 420, + "path": "config/i386/att.h", + "sha256": "48cc90a7598d0ab51a85b0cf3143f187610754da7c47ecd9ac463f2c9d5cec29" + }, + { + "bytes": 1293, + "kind": "file", + "mode": 420, + "path": "config/i386/biarch64.h", + "sha256": "a6fe8538bcc4db531f57ddb5b80d28e09b05c875e497f58542ff7fa4252cdfef" + }, + { + "bytes": 2629, + "kind": "file", + "mode": 420, + "path": "config/i386/gnu-user-common.h", + "sha256": "14a738ecc63fc02ceb153060c87722d3417ebf5564ca7889f2f27c742f20285c" + }, + { + "bytes": 3309, + "kind": "file", + "mode": 420, + "path": "config/i386/gnu-user64.h", + "sha256": "5507732a24911a39abbf7d2526fd8c1b09db98c0519b7388b7143a3c01bdbccb" + }, + { + "bytes": 2399, + "kind": "file", + "mode": 420, + "path": "config/i386/i386-isa.def", + "sha256": "d4d39a44bc16d20dc2c8a10ad4b70156a548e2d38a32fda01811a253d8f4952a" + }, + { + "bytes": 3322, + "kind": "file", + "mode": 420, + "path": "config/i386/i386-opts.h", + "sha256": "84ae505f2aeabbece530164dbefa82465b943331e490bb73ce40d088d9879ce9" + }, + { + "bytes": 17536, + "kind": "file", + "mode": 420, + "path": "config/i386/i386-protos.h", + "sha256": "d5a24ab0e669449ec51b483c5472cdf185ce5804c56d014103cee611eabc65df" + }, + { + "bytes": 113489, + "kind": "file", + "mode": 420, + "path": "config/i386/i386.h", + "sha256": "55f2cea099e92f2bc0649599d708726fab531a10e9ee15456af35a4975599d21" + }, + { + "bytes": 2346, + "kind": "file", + "mode": 420, + "path": "config/i386/linux-common.h", + "sha256": "eb6e3de8ee383f691f2b83c0cdafe8f1687c06c703f0854623dc71569304622b" + }, + { + "bytes": 1669, + "kind": "file", + "mode": 420, + "path": "config/i386/linux64.h", + "sha256": "9007684d92746203c280b53a69debfff75851e31c1cd9ce6cd5c61f705d5179c" + }, + { + "bytes": 1040, + "kind": "file", + "mode": 420, + "path": "config/i386/stringop.def", + "sha256": "ca5f3b59774dade073e1fc95a86c933634b8407437f250a7882fa762967f158d" + }, + { + "bytes": 2878, + "kind": "file", + "mode": 420, + "path": "config/i386/unix.h", + "sha256": "f6896474c5b3fbc38927276acb79abc519e71b98bba82a614cd05052c24cee28" + }, + { + "bytes": 2982, + "kind": "file", + "mode": 420, + "path": "config/i386/x86-64.h", + "sha256": "fecefad6255ddd8d60d9f3b546024a93db37dce7ccf277668de35336ce837471" + }, + { + "bytes": 33406, + "kind": "file", + "mode": 420, + "path": "config/i386/x86-tune.def", + "sha256": "864bcae5ff7ba9991e056b5b8dbbe257b2169ac2996bfcd65aab3e80054f9bf3" + }, + { + "bytes": 1625, + "kind": "file", + "mode": 420, + "path": "config/initfini-array.h", + "sha256": "3b824fa8ab2a86c5b8e5a72b4c868e569780d5e867d80755538e483cdf04b4ab" + }, + { + "bytes": 1947, + "kind": "file", + "mode": 420, + "path": "config/linux-android.h", + "sha256": "875e34fffe6e6bf06cecb83c1edfc221c6bb61a096ef38c60abe63914c72d297" + }, + { + "bytes": 811, + "kind": "file", + "mode": 420, + "path": "config/linux-protos.h", + "sha256": "4240c4b506975f484248da9a3c668aacd837dba532be7d6d174f40405c9561af" + }, + { + "bytes": 8504, + "kind": "file", + "mode": 420, + "path": "config/linux.h", + "sha256": "ce71be1f80fac59483042c6dd421bd267765c44f977505955b2718e30da612c4" + }, + { + "bytes": 1611, + "kind": "file", + "mode": 420, + "path": "config/vxworks-dummy.h", + "sha256": "f86e24a101cf141fab63458b812e0aed5bde16850a24d1045f6cebbc2977f3cc" + }, + { + "bytes": 217, + "kind": "file", + "mode": 420, + "path": "config.h", + "sha256": "41150681fe15436d17aa3a0b45b57345a65238fb945b14b0ca2bdf857e723e48" + }, + { + "bytes": 1640, + "kind": "file", + "mode": 420, + "path": "configargs.h", + "sha256": "987c0a46b31907a609c15c749988921053bdf81e77d3a695c981d7be7a9378fc" + }, + { + "bytes": 1732, + "kind": "file", + "mode": 420, + "path": "context.h", + "sha256": "aafa561687a1cc40f753d8085f357a82db14b291f195e98f7409606439004c94" + }, + { + "bytes": 1848, + "kind": "file", + "mode": 420, + "path": "convert.h", + "sha256": "b37b99a1b2bb94e6267ac860b76683eea2ce19e53b51ec0899ac5b1c5b97b2c2" + }, + { + "bytes": 15197, + "kind": "file", + "mode": 420, + "path": "coretypes.h", + "sha256": "169d3b325ba9957aa6dc3953bb26dfed3bed2618950585f1891d4ab9375def21" + }, + { + "bytes": 1927, + "kind": "file", + "mode": 420, + "path": "coroutine-builtins.def", + "sha256": "9b7e57e064c7740d204e9bc19eda510646e3a0801978770e8eef3bf124e662a9" + }, + { + "bytes": 2308, + "kind": "file", + "mode": 420, + "path": "coverage.h", + "sha256": "5e566a797e02c4abd09b0102310950625e8d325264a17fdbb0817448ca99bbf1" + }, + { + "bytes": 9714, + "kind": "file", + "mode": 420, + "path": "cp/contracts.h", + "sha256": "35d2eb58bf53d383c73d7c362148c2ff354fb2691ac0a86e65562757bf6ffdeb" + }, + { + "bytes": 4936, + "kind": "file", + "mode": 420, + "path": "cp/cp-trait.def", + "sha256": "c2ed08f00e4a126eb18bb8668fa966d8d66ebfdc57f65dcc4a66b607f0b3c252" + }, + { + "bytes": 27148, + "kind": "file", + "mode": 420, + "path": "cp/cp-tree.def", + "sha256": "a3d582ccb91cae886555cfe3541283787a2659c1b310d5a4fed427cd54120563" + }, + { + "bytes": 350792, + "kind": "file", + "mode": 420, + "path": "cp/cp-tree.h", + "sha256": "78c10c94738de11dae4cba0de0e6c81b3f8f4431ca9b2b916d5812663af1020c" + }, + { + "bytes": 4883, + "kind": "file", + "mode": 420, + "path": "cp/cxx-pretty-print.h", + "sha256": "533988176d9313b5e081e45c52f0ef1a86e9d518548fdf1f2ae56f2ff71b1a2f" + }, + { + "bytes": 18488, + "kind": "file", + "mode": 420, + "path": "cp/name-lookup.h", + "sha256": "3c012c6827b6efa1c9477ecb59b3147036888f0e0183614ef3a7847bad5c89b4" + }, + { + "bytes": 6848, + "kind": "file", + "mode": 420, + "path": "cp/operators.def", + "sha256": "5b3199c6d97f307cb6bbb296e30f7518900548c12d1c8f45699e4e54bd40d2a1" + }, + { + "bytes": 1877, + "kind": "file", + "mode": 420, + "path": "cp/type-utils.h", + "sha256": "3d0f20f1400cbef0786ee4871e656a20a4ab80315641b11e4efddaa79c016888" + }, + { + "bytes": 1174, + "kind": "file", + "mode": 420, + "path": "cppbuiltin.h", + "sha256": "172a64e3f9a2dc4d2b05bcb3e16716336160ebd801cc17bbde02c81232a9407f" + }, + { + "bytes": 2987, + "kind": "file", + "mode": 420, + "path": "cppdefault.h", + "sha256": "d105e4f83c7403684db87493b30f52304d6a7c4a3ada1f56d3d2fa1d565e007c" + }, + { + "bytes": 57534, + "kind": "file", + "mode": 420, + "path": "cpplib.h", + "sha256": "2b9fc43ca45c7d844989c3a04dc311885a3b3537d25166d293a0ec092461bdc0" + }, + { + "bytes": 4592, + "kind": "file", + "mode": 420, + "path": "cselib.h", + "sha256": "3e3f877bf198338a5bec51c76e87351f246abb69088e7531fef51db2c80e7c84" + }, + { + "bytes": 15687, + "kind": "file", + "mode": 420, + "path": "ctfc.h", + "sha256": "96197421f357e1e3b007a1757b6f77bb3d76800f453527fb62f547523669d3bc" + }, + { + "bytes": 1386, + "kind": "file", + "mode": 420, + "path": "d/d-tree.def", + "sha256": "a07d2e1d5354fef980d33ad14614b445cb1246e3b3222d8dc27eb443f502d484" + }, + { + "bytes": 10999, + "kind": "file", + "mode": 420, + "path": "data-streamer.h", + "sha256": "e5b02a3dfb361820a5b24fc1710b38666626cc13fb78311332d1ae601a13a873" + }, + { + "bytes": 6668, + "kind": "file", + "mode": 420, + "path": "dbgcnt.def", + "sha256": "68d2ba3391fbcd277d748eecd075b18f8610539a7c4600ac49dbd46b18a17cfc" + }, + { + "bytes": 1229, + "kind": "file", + "mode": 420, + "path": "dbgcnt.h", + "sha256": "e5f9da2c42dfc0ce09a321a7fb324a63b0ff6c789d761191be58c1c8af7b8e05" + }, + { + "bytes": 877, + "kind": "file", + "mode": 420, + "path": "dce.h", + "sha256": "0d029fe1379ceed3849f271390cc12c98359a16631da462f8ba5f12c9131bec8" + }, + { + "bytes": 5459, + "kind": "file", + "mode": 420, + "path": "ddg.h", + "sha256": "2b647e04c726df5ed328fde718ce5b996366831578c0d1591bf38620be092a06" + }, + { + "bytes": 11479, + "kind": "file", + "mode": 420, + "path": "debug.h", + "sha256": "d3ce98401f5216d6ff167a2701ac6547ef332e1a98eb933778526dd866b6aced" + }, + { + "bytes": 42136, + "kind": "file", + "mode": 420, + "path": "defaults.h", + "sha256": "012ff1fece4d6d52b00647a49472045054094afa11637d7d5fdaced73ab95eae" + }, + { + "bytes": 48230, + "kind": "file", + "mode": 420, + "path": "df.h", + "sha256": "ce939e0a7ae288d5d5ed39993f69eca3b2696f8fd9d3d7ba1c8382a6a98fb14f" + }, + { + "bytes": 2361, + "kind": "file", + "mode": 420, + "path": "dfp.h", + "sha256": "6550085e484d044a7f674ada222696b618520b3028cf2d5916a2e36916d523aa" + }, + { + "bytes": 3567, + "kind": "file", + "mode": 420, + "path": "diagnostic-client-data-hooks.h", + "sha256": "8470edd627b9faa12436145be03125fb8d6359804f88d267056434bb9c1d4cca" + }, + { + "bytes": 2302, + "kind": "file", + "mode": 420, + "path": "diagnostic-color.h", + "sha256": "0f84d9affbe4c7be3f20b7594db32ac7a8b8b1a5ab6e90045b6e6eeef9cf2bdb" + }, + { + "bytes": 5214, + "kind": "file", + "mode": 420, + "path": "diagnostic-core.h", + "sha256": "2a5d445b78fc1981fc32e9b1ec2ed84b26f7009459b05dc8086bb9dec2002a54" + }, + { + "bytes": 2084, + "kind": "file", + "mode": 420, + "path": "diagnostic-event-id.h", + "sha256": "8f33443da1ae6a5b747ceb0a43f824a65ee10c5205ec3a8ce5909244300aa08d" + }, + { + "bytes": 2270, + "kind": "file", + "mode": 420, + "path": "diagnostic-metadata.h", + "sha256": "aba695214641b9efe0623f1e9ab999d116912405a5cdccdf3f3b3dd3671b7983" + }, + { + "bytes": 6885, + "kind": "file", + "mode": 420, + "path": "diagnostic-path.h", + "sha256": "e97bc1cab6272b6aebeefabf0e53e6fbed508bcd82cb90b4fa814a3e92ebdab9" + }, + { + "bytes": 3628, + "kind": "file", + "mode": 420, + "path": "diagnostic-spec.h", + "sha256": "0be5036f3162914a45a387f325f24ef7c00491f53f232053e9ac6e6c16827f05" + }, + { + "bytes": 1587, + "kind": "file", + "mode": 420, + "path": "diagnostic-url.h", + "sha256": "0e6546e3a19732b9522a15a54aa56f5e0c76ed691cb152ce96f2fd7b3f0926a8" + }, + { + "bytes": 2645, + "kind": "file", + "mode": 420, + "path": "diagnostic.def", + "sha256": "d13eaa301a150ba0415fb5cd8f5f22e001bdabccadb7b3a4a6b02dbaa42cd909" + }, + { + "bytes": 22673, + "kind": "file", + "mode": 420, + "path": "diagnostic.h", + "sha256": "94781ae0ab138d083f6679a1521071723de43930ad8ee077d58b2c165bbf4242" + }, + { + "bytes": 6740, + "kind": "file", + "mode": 420, + "path": "digraph.h", + "sha256": "5e6c941c7cfd22065c77c2d1f17af5c2658544e28805c7c3aabeb3f7da0d6d94" + }, + { + "bytes": 488, + "kind": "file", + "mode": 420, + "path": "distro-defaults.h", + "sha256": "2ccde3e3cbe4fc9fba8da310295f775d5bd77d9742090f74708f4ff24f683f6d" + }, + { + "bytes": 3015, + "kind": "file", + "mode": 420, + "path": "dojump.h", + "sha256": "b1ed271ed0b8aa8a93f57d8977709d60a210c12b6cffadd8d6bf57dde9fe5b0f" + }, + { + "bytes": 3653, + "kind": "file", + "mode": 420, + "path": "dominance.h", + "sha256": "961c8c913939e13d4852f3a570366c29fefdd40f0964dec97ee505f647586b8f" + }, + { + "bytes": 4558, + "kind": "file", + "mode": 420, + "path": "domwalk.h", + "sha256": "db08d680f9cdc82f5e28833151567a9d08822b83bb400427d085d870a0dc809b" + }, + { + "bytes": 13501, + "kind": "file", + "mode": 420, + "path": "double-int.h", + "sha256": "82206f0bf9b69a31fc1a3b12fd8f49a872e58db4df289106580356a6fb688c06" + }, + { + "bytes": 9321, + "kind": "file", + "mode": 420, + "path": "dump-context.h", + "sha256": "17d8b5525f58ed35c4464cdade8e6464ef9dee9ef256a0eccc4eaeeddc520ed2" + }, + { + "bytes": 23434, + "kind": "file", + "mode": 420, + "path": "dumpfile.h", + "sha256": "9d27e3418748299347a59ab42ff93c640e520ea31e0c3c76c61f5b5f93654086" + }, + { + "bytes": 3153, + "kind": "file", + "mode": 420, + "path": "dwarf2asm.h", + "sha256": "1f6bf7e4d5ae00679873a10a3fe49b988fa4639b7260f875fb11230749d0c99c" + }, + { + "bytes": 1993, + "kind": "file", + "mode": 420, + "path": "dwarf2ctf.h", + "sha256": "c114e1458772074b645a9f8c631afc9beffd0e229223576c3cdb340ab1827a2e" + }, + { + "bytes": 16250, + "kind": "file", + "mode": 420, + "path": "dwarf2out.h", + "sha256": "0303929170f719d93b6cdfb7087ad5382cda932518e1d46adf044675194f9936" + }, + { + "bytes": 2189, + "kind": "file", + "mode": 420, + "path": "edit-context.h", + "sha256": "e98acf62a5e89d7bad5fc45b533abf35de9d9020217aec6f93bdbee51a7cf667" + }, + { + "bytes": 20076, + "kind": "file", + "mode": 420, + "path": "emit-rtl.h", + "sha256": "56b4b8df8e0985a35eccff9695b2b8da669369a358d36f50f82e82e9305cfc39" + }, + { + "bytes": 1596, + "kind": "file", + "mode": 420, + "path": "errors.h", + "sha256": "dfe0ce5c23a94e691cfc94d3a0acae1ae2dcc9b237b6ff7e1944429a90cec695" + }, + { + "bytes": 1382, + "kind": "file", + "mode": 420, + "path": "escaped_string.h", + "sha256": "0675494730bc2bc17b41e19765e4a96dc360a6fe451a1890ac23355988f46bff" + }, + { + "bytes": 2693, + "kind": "file", + "mode": 420, + "path": "et-forest.h", + "sha256": "686244bfa730ce91232887f22bbb0b9413043a714424baffca2aa3bc90d6aea4" + }, + { + "bytes": 12244, + "kind": "file", + "mode": 420, + "path": "except.h", + "sha256": "ac102cb63acafb40203090aeab74dacb8323bdfed728383112949911172bf4a4" + }, + { + "bytes": 5741, + "kind": "file", + "mode": 420, + "path": "explow.h", + "sha256": "fef76c10fe4494ebe014eb320ec641c97ffab633ce9adafbdda0e6c60e1cc5b7" + }, + { + "bytes": 21038, + "kind": "file", + "mode": 420, + "path": "expmed.h", + "sha256": "c75c31bdb6fe8e0dbf142fdc299f8f26ec9dff754664e457a49d1de84c6e481b" + }, + { + "bytes": 13805, + "kind": "file", + "mode": 420, + "path": "expr.h", + "sha256": "ab3389f2a5105969867a2dec77eb92f5dd55cfb3c46d26342e5724ee8e47a4dd" + }, + { + "bytes": 16180, + "kind": "file", + "mode": 420, + "path": "fibonacci_heap.h", + "sha256": "c82178ff485d0a61bdbd2450a9ee16caf57e83d98fd37e3326c53593c644e56e" + }, + { + "bytes": 1717, + "kind": "file", + "mode": 420, + "path": "file-find.h", + "sha256": "0057ddd2bc41631e6069b900bbd34b7895c248d620da2ecde6a07d06d7c77b9a" + }, + { + "bytes": 1245, + "kind": "file", + "mode": 420, + "path": "file-prefix-map.h", + "sha256": "fc606239667d9c5f0549db1d03e64bc1322d73072e92755dfcea9ea1556dde60" + }, + { + "bytes": 3524, + "kind": "file", + "mode": 420, + "path": "filenames.h", + "sha256": "93d972961c2d41445faa2ff3ac5ac4aa9f68ac332e31ca32dd77b08ad8830b60" + }, + { + "bytes": 4155, + "kind": "file", + "mode": 420, + "path": "fixed-value.h", + "sha256": "2312325be7943854df0faade267a89b1454cec041e035614d0499f8ce3a8c538" + }, + { + "bytes": 15499, + "kind": "file", + "mode": 420, + "path": "flag-types.h", + "sha256": "5796693bde1e7f9686a857964835bdc7bef1ff9c3a597ef24c1bd8e2eb398d9c" + }, + { + "bytes": 3627, + "kind": "file", + "mode": 420, + "path": "flags.h", + "sha256": "52d3cc3697ccb7e70ed38655aee02914046ac9d11284278c2078c88df447d6ee" + }, + { + "bytes": 1032, + "kind": "file", + "mode": 420, + "path": "fold-const-call.h", + "sha256": "94afc3bfb186de354f97612522fd97b07d7b8a552d9d99665aec6804111dff21" + }, + { + "bytes": 13407, + "kind": "file", + "mode": 420, + "path": "fold-const.h", + "sha256": "f440020333fb36bfc709dad7271c43fdb96229f041dcd9248fa3e30193207afd" + }, + { + "bytes": 11340, + "kind": "file", + "mode": 420, + "path": "function-abi.h", + "sha256": "4a87c748bc1dbd27969a4ab1a1b50d44e512b3b6d939f07b582002be8c3bb0a9" + }, + { + "bytes": 26167, + "kind": "file", + "mode": 420, + "path": "function.h", + "sha256": "221af11d18566ae92ed7a523a9a334bc33b1b2b6621e1b30df86544c6c1ffafd" + }, + { + "bytes": 1247, + "kind": "file", + "mode": 420, + "path": "gcc-plugin.h", + "sha256": "14da5c4c72e867d3143078d6b2a4552ea0f69ddc3dc56046cf971e02b5b38811" + }, + { + "bytes": 6464, + "kind": "file", + "mode": 420, + "path": "gcc-rich-location.h", + "sha256": "c2a70ac4254fb197cb9c67a8167accc6dff3c46f5e324545e325acfc78b446c7" + }, + { + "bytes": 942, + "kind": "file", + "mode": 420, + "path": "gcc-symtab.h", + "sha256": "1d32456e30d45648cc7c673b5b7164a41e6119336f1f2cd31bc99bf9b9be445a" + }, + { + "bytes": 3073, + "kind": "file", + "mode": 420, + "path": "gcc.h", + "sha256": "9ccf4af910f55ed3437a891768f184b8b71f13ebf343de0d79c9feb7f073f409" + }, + { + "bytes": 1894, + "kind": "file", + "mode": 420, + "path": "gcov-counter.def", + "sha256": "0088739f71d5b35269c58a6bc6ada86054fb572f241fa349913d36596bb4310b" + }, + { + "bytes": 15775, + "kind": "file", + "mode": 420, + "path": "gcov-io.h", + "sha256": "10ee424e78fa32a593879e9aee7cb6f6f40b00ef35d4bd10e7d880e0af7ec0d4" + }, + { + "bytes": 1418, + "kind": "file", + "mode": 420, + "path": "gcse-common.h", + "sha256": "5f157e267c71b120a95972b98cc484e9b7615ce3f8db491760c1d5a8ae735ce8" + }, + { + "bytes": 1497, + "kind": "file", + "mode": 420, + "path": "gcse.h", + "sha256": "bce4f75524046f39ccf160d8015b611f8e2a415814cbfe775c3abe6a66c1daa3" + }, + { + "bytes": 1256, + "kind": "file", + "mode": 420, + "path": "generic-match.h", + "sha256": "4115d7893cb95f4120f9ed831b1dd0388310ac85daeac5d23afaf91e2a8606a1" + }, + { + "bytes": 17392, + "kind": "file", + "mode": 420, + "path": "gengtype.h", + "sha256": "1018ca478ee084f9e62d3511e50ad23468fcfa97caedd07906f14da34a54235a" + }, + { + "bytes": 47491, + "kind": "file", + "mode": 420, + "path": "genrtl.h", + "sha256": "42d108de1fa4567927e5723d516199b34fc863c06b219f8f7cf29361611eb392" + }, + { + "bytes": 6973, + "kind": "file", + "mode": 420, + "path": "gensupport.h", + "sha256": "83d8a07bd756470d5dbdb9d25e3d3d2740752062d48ca0178b58212216f44ece" + }, + { + "bytes": 3933, + "kind": "file", + "mode": 420, + "path": "ggc-internal.h", + "sha256": "c6d76d4363a59a8ad548d6617493eedf9c8602a80d5fa74607efe46f81fef84e" + }, + { + "bytes": 11339, + "kind": "file", + "mode": 420, + "path": "ggc.h", + "sha256": "82f0910f755cf53737df25fb67a19575be886b82b8d689ccca100bb17419473e" + }, + { + "bytes": 1571, + "kind": "file", + "mode": 420, + "path": "gimple-array-bounds.h", + "sha256": "fa88c5499e9b77f8661f20508ea78d9b818079251bc0e2744d40b1434f0b8542" + }, + { + "bytes": 1503, + "kind": "file", + "mode": 420, + "path": "gimple-builder.h", + "sha256": "8c4d9b5570c51f4e801e26b0c293e11d3732fe37879a06b0ce4c6b4a98a07532" + }, + { + "bytes": 5158, + "kind": "file", + "mode": 420, + "path": "gimple-expr.h", + "sha256": "a4ec8bb41e137b5bb5d8ff884d791b4f5dce3b28b724591bc1784bf5ed65264d" + }, + { + "bytes": 10870, + "kind": "file", + "mode": 420, + "path": "gimple-fold.h", + "sha256": "b7eae6b1d5defa242a37fd7408b5fdde55fbeea2ee0aec8d9759540c936ca2c0" + }, + { + "bytes": 10423, + "kind": "file", + "mode": 420, + "path": "gimple-iterator.h", + "sha256": "a961105f9d8903b0d79afde450c2a47f69b6eac9b97aebf77d13cd1c2d9400a6" + }, + { + "bytes": 981, + "kind": "file", + "mode": 420, + "path": "gimple-low.h", + "sha256": "69f3378a5afdc45a998194f4c708a567c789b2ce0c4fbe492c1bc40bbeabebd3" + }, + { + "bytes": 8983, + "kind": "file", + "mode": 420, + "path": "gimple-match.h", + "sha256": "22962af6a3de149826a8e197ae153d7fffdf50f79dbd0845a794545f25286520" + }, + { + "bytes": 4972, + "kind": "file", + "mode": 420, + "path": "gimple-predicate-analysis.h", + "sha256": "49461de35bd6bb6448d29aad95b9388d1a036374727943cbebedd341b8e644ef" + }, + { + "bytes": 2530, + "kind": "file", + "mode": 420, + "path": "gimple-predict.h", + "sha256": "dbb82424051d2ab36ad938d31704898b92c0f8999c4aa5e3756c15380133458e" + }, + { + "bytes": 1662, + "kind": "file", + "mode": 420, + "path": "gimple-pretty-print.h", + "sha256": "0b5ae839465cfb6be8bb75a1a5c64cd41a0be40bc63c9f38fbae7a8f1afd1523" + }, + { + "bytes": 4147, + "kind": "file", + "mode": 420, + "path": "gimple-range-cache.h", + "sha256": "2b2bb0081f8b72505e3ff1d2e25b6dab3c14a81755d82dc3a32fe7f4ffdb18b1" + }, + { + "bytes": 2144, + "kind": "file", + "mode": 420, + "path": "gimple-range-edge.h", + "sha256": "f70a149742d8b6d87cef7e2912fc3ccda35521d5ab9b47c566546cf322c9d261" + }, + { + "bytes": 6307, + "kind": "file", + "mode": 420, + "path": "gimple-range-fold.h", + "sha256": "0990e92eb8d346fd08962c6c27bbe9e56bf05399fd36ac790e556a67c911bdc5" + }, + { + "bytes": 8692, + "kind": "file", + "mode": 420, + "path": "gimple-range-gori.h", + "sha256": "adba924418190f95c63dd1c7a59922fcc18b6bd9d45faaf2ccd12b3191d8a706" + }, + { + "bytes": 3073, + "kind": "file", + "mode": 420, + "path": "gimple-range-infer.h", + "sha256": "73ccc7ad72242c1dade2d85c33e803942cbb50a9e59518bda6023da2392f47ea" + }, + { + "bytes": 2035, + "kind": "file", + "mode": 420, + "path": "gimple-range-op.h", + "sha256": "9103654748691af3206f7dc00995e9c6c68b3c0cfe9a6294eaf760dfb888adb2" + }, + { + "bytes": 4384, + "kind": "file", + "mode": 420, + "path": "gimple-range-path.h", + "sha256": "0f5bb2bab19be8fbabe84bbd037c39924f78015b9d2b6cf103045e1a86fa2cdb" + }, + { + "bytes": 2383, + "kind": "file", + "mode": 420, + "path": "gimple-range-trace.h", + "sha256": "8dd32ec528b1548e6f8e9e85f2412c808ee1c1a9b19942dbce67da7b6d3866f4" + }, + { + "bytes": 3886, + "kind": "file", + "mode": 420, + "path": "gimple-range.h", + "sha256": "6e1ec1d0c60117eae8e0b011a85e7dc86f084751362e814decc8c4da1a90dd50" + }, + { + "bytes": 1934, + "kind": "file", + "mode": 420, + "path": "gimple-ssa-warn-access.h", + "sha256": "8930c781c5a7bac209dcd489c3466c59671a98e1ccaa7d3b3a3d2a536407ff68" + }, + { + "bytes": 1144, + "kind": "file", + "mode": 420, + "path": "gimple-ssa-warn-restrict.h", + "sha256": "445c7b6af465bd66f70e984a75edbf9b3d12f78a6a402a3b7c0da62af142fe1d" + }, + { + "bytes": 5477, + "kind": "file", + "mode": 420, + "path": "gimple-ssa.h", + "sha256": "10f6662fd0ac0a31be74d407313e06d9276bd5b298d9be0a762e756eab629045" + }, + { + "bytes": 1163, + "kind": "file", + "mode": 420, + "path": "gimple-streamer.h", + "sha256": "699116c82b3d4d27f237e7f7e6bb44d7ae82c64654b2b70d89dfc35a29f84738" + }, + { + "bytes": 4260, + "kind": "file", + "mode": 420, + "path": "gimple-walk.h", + "sha256": "fe58ab5c8b95a6c3975b35a075f00e3704f8519968a388c2989b30c0c62e6691" + }, + { + "bytes": 16974, + "kind": "file", + "mode": 420, + "path": "gimple.def", + "sha256": "ec4c9c88546fa7cb5130de64224baea8f2f2481206a35825ff5f0725f7be611a" + }, + { + "bytes": 161475, + "kind": "file", + "mode": 420, + "path": "gimple.h", + "sha256": "3da4923eb7137e70e89af8e31b0164f5ac9ef3979b32b158fcc68787a091ff2d" + }, + { + "bytes": 1550, + "kind": "file", + "mode": 420, + "path": "gimplify-me.h", + "sha256": "13ca97e62e1046c0ee94573bc528f690f21d2c95508e2a4b52a4fd586a1bb448" + }, + { + "bytes": 3596, + "kind": "file", + "mode": 420, + "path": "gimplify.h", + "sha256": "6dc1920d67c95c1b72f3e530d8a3ebe926952e03c4248dd35d6c8492496ad543" + }, + { + "bytes": 4718, + "kind": "file", + "mode": 420, + "path": "glimits.h", + "sha256": "15cc72ece04746fe84d86ca21b4fa473d3d8e9a63e6a187901c047e1d0d4e918" + }, + { + "bytes": 15067, + "kind": "file", + "mode": 420, + "path": "gomp-constants.h", + "sha256": "f49c5847a59f70bb7dcf6ce883fad82f88827da128412dc375e72e599a82d9cd" + }, + { + "bytes": 951, + "kind": "file", + "mode": 420, + "path": "graph.h", + "sha256": "1e7878693178734e3f7692e7da5f40ebd4439d7118a0451f9df0a432939f915b" + }, + { + "bytes": 2293, + "kind": "file", + "mode": 420, + "path": "graphds.h", + "sha256": "de279206c8ea8dc4a8078b32f0a38853ac6c03687e3dfddec70056bf66eb09a5" + }, + { + "bytes": 12497, + "kind": "file", + "mode": 420, + "path": "graphite.h", + "sha256": "ccbae957b442f88d088d56aec8f8045b4057653c363115621c46a408658bae23" + }, + { + "bytes": 1531, + "kind": "file", + "mode": 420, + "path": "graphviz.h", + "sha256": "3a42edc31d2b1c4ac08ba1b3dca541ca909a964efa7646f7010e2ba21a3e30cd" + }, + { + "bytes": 2409, + "kind": "file", + "mode": 420, + "path": "gsstruct.def", + "sha256": "1651b558793d700fe1a0c4ac2b9cac5c95ef2e4520f42df76938d6848a3b6add" + }, + { + "bytes": 1783, + "kind": "file", + "mode": 420, + "path": "gsyms.h", + "sha256": "1d2e65fdd1565fc90923304bdadeeb00384d7d617f28a23d7a76537a52e80893" + }, + { + "bytes": 330, + "kind": "file", + "mode": 420, + "path": "gsyslimits.h", + "sha256": "22dd0ab81baadd5a8d455b445855f341d419c7b0267beca235de00b7ec78e529" + }, + { + "bytes": 10158, + "kind": "file", + "mode": 420, + "path": "gtm-builtins.def", + "sha256": "b8fe0ca2bae450a6cc5fab57ede4cfb1a59c98cc8451837a9e763d168d5f52df" + }, + { + "bytes": 176886, + "kind": "file", + "mode": 420, + "path": "gtype-desc.h", + "sha256": "02870fb8fd90e7115d52b7893ac70db6fdb19e0189f53235b2e65066c7203855" + }, + { + "bytes": 16063, + "kind": "file", + "mode": 420, + "path": "hard-reg-set.h", + "sha256": "1531add71cd94bfd441313905a0e233cb3774e10491d634830b3be5d58271dfb" + }, + { + "bytes": 5627, + "kind": "file", + "mode": 420, + "path": "hash-map-traits.h", + "sha256": "0e258c1fca60d02537913288f68f8234ed300e36c824d0515ebe3704436dffc2" + }, + { + "bytes": 10909, + "kind": "file", + "mode": 420, + "path": "hash-map.h", + "sha256": "e5cf42c2ad4515dc2a88fe984ec0281632689bcca2736f50dd2fdfeca546c948" + }, + { + "bytes": 5741, + "kind": "file", + "mode": 420, + "path": "hash-set.h", + "sha256": "876bf0e7c31a5378efc30e07fabbd55a94245bbf44ebf2f7784659e42d59a9a2" + }, + { + "bytes": 39688, + "kind": "file", + "mode": 420, + "path": "hash-table.h", + "sha256": "7115642e9761d2cd36f131d486a437a110b93158fb0899308b49793615b1b5b9" + }, + { + "bytes": 11226, + "kind": "file", + "mode": 420, + "path": "hash-traits.h", + "sha256": "81c44e0537bfc87a0b9adcc52051236015f28b222fcaafb54f8815c9561b2479" + }, + { + "bytes": 7402, + "kind": "file", + "mode": 420, + "path": "hashtab.h", + "sha256": "a72e81a2c7322ca4fc9ba821c1cb38ae7c034cb402181e90d91841cd58b1f98e" + }, + { + "bytes": 1121, + "kind": "file", + "mode": 420, + "path": "highlev-plugin-common.h", + "sha256": "b81549f3331b5335b3129ac2091691aa658b5cf651ba1ba0082906af22997f54" + }, + { + "bytes": 6259, + "kind": "file", + "mode": 420, + "path": "hooks.h", + "sha256": "1e7d3063c34061812fbdd950e90d858e0bc1cd5f67db144a75c3246aa7cf31bd" + }, + { + "bytes": 1808, + "kind": "file", + "mode": 420, + "path": "hosthooks-def.h", + "sha256": "0003121f60d6cb02ed21c08709c10889e5df6891bdd8251290f0084e81bf2b4b" + }, + { + "bytes": 1943, + "kind": "file", + "mode": 420, + "path": "hosthooks.h", + "sha256": "61e4c9ea3990396756584ee9bc40ab081fa6204a48eeaa345c072f58a50a25ad" + }, + { + "bytes": 5584, + "kind": "file", + "mode": 420, + "path": "hw-doloop.h", + "sha256": "88a0e0f498a55f586df2845736b75e63b07802f169bcf8b1edf4fc95f8bedcc0" + }, + { + "bytes": 10745, + "kind": "file", + "mode": 420, + "path": "hwint.h", + "sha256": "7a50e1ced617289ebe97acbaf61925b7de235e50d4b73d8575da288dd064a127" + }, + { + "bytes": 4271, + "kind": "file", + "mode": 420, + "path": "ifcvt.h", + "sha256": "b09b75199f3721bd9538812d29ce8da67c95c992da9295b4c865d70b470aff7d" + }, + { + "bytes": 5203, + "kind": "file", + "mode": 420, + "path": "inchash.h", + "sha256": "5b78e81a7226a9cbc6c664b2928c68ccb155132d4e764daaca2eb28590137856" + }, + { + "bytes": 1696, + "kind": "file", + "mode": 420, + "path": "incpath.h", + "sha256": "747174cc153c2c9851a6acfa50586fa632db3696650b118a00fed85bac643b79" + }, + { + "bytes": 9147, + "kind": "file", + "mode": 420, + "path": "input.h", + "sha256": "ab7c203f21122c26260141dffe2e3e3fc30c9ad6458b5c2be26029d4cf34280d" + }, + { + "bytes": 1881, + "kind": "file", + "mode": 420, + "path": "insn-addr.h", + "sha256": "62a42864b5d1de2f6ba657663688b67018349a6ef133fe4f9feb312edbd4674f" + }, + { + "bytes": 5586, + "kind": "file", + "mode": 420, + "path": "insn-attr-common.h", + "sha256": "bcb77597a67ac6b68b24dbdae7dca900f611ad0a8a3a56ecf8af45378d890ca6" + }, + { + "bytes": 11715, + "kind": "file", + "mode": 420, + "path": "insn-attr.h", + "sha256": "4baa3750012a67f0bb4600d7faea1a52c3c104779aaa8c64095f2d0581757902" + }, + { + "bytes": 310455, + "kind": "file", + "mode": 420, + "path": "insn-codes.h", + "sha256": "83e0c3cbab2ce449e98b300a78667666b4f8a7cfe4d4b4cdfdd8af8019393774" + }, + { + "bytes": 526, + "kind": "file", + "mode": 420, + "path": "insn-config.h", + "sha256": "61f4af46470a090d3879482225cf5b44d7e63e6a62a2556c588758311a7b55d1" + }, + { + "bytes": 11204, + "kind": "file", + "mode": 420, + "path": "insn-constants.h", + "sha256": "319b6341188b6ea532fc90a5a6ce26a0c87e35a2f4c7887f8db3a54f9d8f8ca3" + }, + { + "bytes": 1347390, + "kind": "file", + "mode": 420, + "path": "insn-flags.h", + "sha256": "0e21173edfdcf406b300992e8bab9ef65ca3a98f42501d24efeffd057eedb218" + }, + { + "bytes": 24711, + "kind": "file", + "mode": 420, + "path": "insn-modes-inline.h", + "sha256": "206116a4fb7aedd76f936dfd3f23c5ba9a9c4cda1c787338dffcdc6feea6a78d" + }, + { + "bytes": 28560, + "kind": "file", + "mode": 420, + "path": "insn-modes.h", + "sha256": "bc522aae00c541e890a64bec011e0df5c0952f76058e4418fde210051b4f9a16" + }, + { + "bytes": 3617, + "kind": "file", + "mode": 420, + "path": "insn-notes.def", + "sha256": "a3c40aa47c1a61414ee539c2729d60cf027c7a654a576d6bfa9a4038d4cb8be5" + }, + { + "bytes": 2706, + "kind": "file", + "mode": 420, + "path": "int-vector-builder.h", + "sha256": "8793b9ae709fa4abfa4b47b42f7d44e5b8a0c81babb947316f340e26c34bd955" + }, + { + "bytes": 22125, + "kind": "file", + "mode": 420, + "path": "internal-fn.def", + "sha256": "b5bdb9d9d2d0c0836398ce22772e364881ef4999da68d6824a3c08bbebfb864a" + }, + { + "bytes": 8988, + "kind": "file", + "mode": 420, + "path": "internal-fn.h", + "sha256": "6e5d20a5735c158d71a3fea72e303455ce5a1ddb1964a1283084331645a923e2" + }, + { + "bytes": 2009, + "kind": "file", + "mode": 420, + "path": "intl.h", + "sha256": "4a313883acbe8bf6a6502e0f4a56863ab5916e8defe4828e98f5251af2536744" + }, + { + "bytes": 15911, + "kind": "file", + "mode": 420, + "path": "ipa-fnsummary.h", + "sha256": "de4a896a9634f74046d2869acd9bd1cb53ee4f7f2ab55fe1ced41460f03417f1" + }, + { + "bytes": 11544, + "kind": "file", + "mode": 420, + "path": "ipa-icf-gimple.h", + "sha256": "496e275a5cece9993a70e8bd4a02344ed0e3ac7c50d1b81d9d1adc7d4094db2c" + }, + { + "bytes": 21309, + "kind": "file", + "mode": 420, + "path": "ipa-icf.h", + "sha256": "9e7a92faa7ba1f266da868b0054480f19dd8d5291c479b4ba7132e9a35c27cb5" + }, + { + "bytes": 4289, + "kind": "file", + "mode": 420, + "path": "ipa-inline.h", + "sha256": "1e955d3f468551b8ad6ff25bba478f81e71ba94e61db38fb585772b5d2f935cb" + }, + { + "bytes": 22363, + "kind": "file", + "mode": 420, + "path": "ipa-modref-tree.h", + "sha256": "fe51a1249a2d02f88c09e4d39f5b86bc4b93134c6afc94923fdee8c364fcbc69" + }, + { + "bytes": 5027, + "kind": "file", + "mode": 420, + "path": "ipa-modref.h", + "sha256": "22c65da14709b9b84e8086769f3897e4f48f05b59e975a3d241a495c09dc1d47" + }, + { + "bytes": 18540, + "kind": "file", + "mode": 420, + "path": "ipa-param-manipulation.h", + "sha256": "f3201c2d0c05d9f7a8ff5bf24b45c7900d74f826c73e8f1462abf2489e97e561" + }, + { + "bytes": 8891, + "kind": "file", + "mode": 420, + "path": "ipa-predicate.h", + "sha256": "6b22f107252d8a4e3b93663584c2a43293e30630960369e6f3308c664c7ca4ae" + }, + { + "bytes": 41250, + "kind": "file", + "mode": 420, + "path": "ipa-prop.h", + "sha256": "c6ac7cb1c6c2b9b41e6351d823c97cd36ed192055f2bec5d5cf732816d6d00dc" + }, + { + "bytes": 3529, + "kind": "file", + "mode": 420, + "path": "ipa-ref.h", + "sha256": "399109d1b5ba4d7aba587233d2235c508453294b503640636bf5f65c4bec4fb5" + }, + { + "bytes": 1099, + "kind": "file", + "mode": 420, + "path": "ipa-reference.h", + "sha256": "43c907a42844c6b38799eae901b6046c4676dc27de8ebd5a5318a954f2520d4a" + }, + { + "bytes": 9725, + "kind": "file", + "mode": 420, + "path": "ipa-utils.h", + "sha256": "5329e4984b4519090d52923ceca6c115f03b57327b2bda231c555f1b2b6dbde4" + }, + { + "bytes": 62259, + "kind": "file", + "mode": 420, + "path": "ira-int.h", + "sha256": "aec4d79bbac7c207b388b045b7b0d55947f13a9d5138a5ef57c8a36031248e02" + }, + { + "bytes": 9893, + "kind": "file", + "mode": 420, + "path": "ira.h", + "sha256": "d732461cda17464dbf997c189a28eb5c1ee94a8171be0ca2d7c68e5f148e4810" + }, + { + "bytes": 7700, + "kind": "file", + "mode": 420, + "path": "is-a.h", + "sha256": "a7be36431cebf05709bd2a25f47381bc2786125bfc92f933edc28aab6761f8ca" + }, + { + "bytes": 5894, + "kind": "file", + "mode": 420, + "path": "iterator-utils.h", + "sha256": "f22917e2b2d4ee3b5d012e3fb9237f262ab7d7cc09f5b68f6abef02cb600afca" + }, + { + "bytes": 4705, + "kind": "file", + "mode": 420, + "path": "json.h", + "sha256": "9ccf0c42d9ddb74401cac7be0c8bd17c3183be25d7b2af89069a98b8978272cf" + }, + { + "bytes": 16998, + "kind": "file", + "mode": 420, + "path": "langhooks-def.h", + "sha256": "95f149ef20e682d4877d5f2ebb2c9886b68750f8cf586b4a982e32566e67f488" + }, + { + "bytes": 27732, + "kind": "file", + "mode": 420, + "path": "langhooks.h", + "sha256": "5cef50bf7cd776d0bb62db9722163b98f4372e8ab256ceab28a6eabd0161f572" + }, + { + "bytes": 1327, + "kind": "file", + "mode": 420, + "path": "lcm.h", + "sha256": "0bda2ffffab92ff1e08ad9d5d820a27f9379ee6782d2d27dcb753a5d6aea38db" + }, + { + "bytes": 2586, + "kind": "file", + "mode": 420, + "path": "libfuncs.h", + "sha256": "4ede906245548b77c8039974408ad67b33f437b8d37863cdc8511ad21f053ea4" + }, + { + "bytes": 27873, + "kind": "file", + "mode": 420, + "path": "libiberty.h", + "sha256": "30bb26b74878d324cd3a495ae6913f9dc682fb8519c2acd55520e31f8456a6c1" + }, + { + "bytes": 1411, + "kind": "file", + "mode": 420, + "path": "limitx.h", + "sha256": "3b38742bd304c485bb6ab53cacea9432e28205ac7a002a86330f0ae2380f2b3d" + }, + { + "bytes": 270, + "kind": "file", + "mode": 420, + "path": "limity.h", + "sha256": "281813879fe05668e6a3cc520ef294c7fd3f01f75dd67cb5e363c3ffdf37cb1b" + }, + { + "bytes": 73241, + "kind": "file", + "mode": 420, + "path": "line-map.h", + "sha256": "415f38816ece1ca843803ef3af96be9d9029e83fe9e76b53f0c33f74eeaee778" + }, + { + "bytes": 2486, + "kind": "file", + "mode": 420, + "path": "logical-location.h", + "sha256": "62fd366fc45f278a0957b5b9c456bf9967bf0dddb1903a9539df9f677abba3b2" + }, + { + "bytes": 893, + "kind": "file", + "mode": 420, + "path": "loop-unroll.h", + "sha256": "013de58934fbc12448fd9c684dd5c920be658c527ec61c4d5bff848d911373af" + }, + { + "bytes": 2081, + "kind": "file", + "mode": 420, + "path": "lower-subreg.h", + "sha256": "a17e1d7b54de7bbd12917d92e645bebf03466c4dff43a4fb3314b955f08d93d1" + }, + { + "bytes": 18811, + "kind": "file", + "mode": 420, + "path": "lra-int.h", + "sha256": "3e1e99bc6bab69cb9d3c81f4e84f13d15aec66a39597b1272f46e8e5d994982f" + }, + { + "bytes": 1337, + "kind": "file", + "mode": 420, + "path": "lra.h", + "sha256": "a0dac0179283d66fecc9eef1245bfe9e220cadd855bb78238fb17938223a01d3" + }, + { + "bytes": 1599, + "kind": "file", + "mode": 420, + "path": "lto-compress.h", + "sha256": "d0e82fdd93133a4165a7355e79d815cd0cd4e2d954f59d8141b9b9d1ba5d38c8" + }, + { + "bytes": 1595, + "kind": "file", + "mode": 420, + "path": "lto-section-names.h", + "sha256": "1c91506b7ee8fa420ef0852e90dc824e28dc367274d05fce88f188b9644a3473" + }, + { + "bytes": 38386, + "kind": "file", + "mode": 420, + "path": "lto-streamer.h", + "sha256": "8af2370c5da76c5a10a5f81dc7276d577d15d4427a45a4fc945056200f971ecd" + }, + { + "bytes": 975, + "kind": "file", + "mode": 420, + "path": "m2/m2-tree.def", + "sha256": "ee4847ee69fc0acd5f2c89176d2d523ada86876bf6ef97c37f05becf56c0a049" + }, + { + "bytes": 10847, + "kind": "file", + "mode": 420, + "path": "machmode.def", + "sha256": "de584372b4942dd19796032f087b652ebe3425f4fdfa71ce16245a17c1f47506" + }, + { + "bytes": 35856, + "kind": "file", + "mode": 420, + "path": "machmode.h", + "sha256": "4444cb35bf21f0fad623af174c34d3a23a1f7a239206148ada43f4ea422ab3ee" + }, + { + "bytes": 1529, + "kind": "file", + "mode": 420, + "path": "make-unique.h", + "sha256": "ec51d87d64f36a9d717d4a9b12810d43d60c16ca5527cda00de934f58bea6ffd" + }, + { + "bytes": 5409, + "kind": "file", + "mode": 420, + "path": "md5.h", + "sha256": "7e63418a7fcab4637c5fb29fe554149c0252ed43fcd70a9434af8d8157aff5d6" + }, + { + "bytes": 1280, + "kind": "file", + "mode": 420, + "path": "mem-stats-traits.h", + "sha256": "afa4dc890a08081d268b4b7512fbcbe46572dc71d6a026b465a8f6e2d9714451" + }, + { + "bytes": 18132, + "kind": "file", + "mode": 420, + "path": "mem-stats.h", + "sha256": "95cc899b612bf1d4aceeb45663b2bbc34b8711d38c215b53ef2693fd73ddcc91" + }, + { + "bytes": 3401, + "kind": "file", + "mode": 420, + "path": "memmodel.h", + "sha256": "4c56869646d5db67ce1887862d23c13ac2453879ff8da57c67f5c4ad6594ff69" + }, + { + "bytes": 2500, + "kind": "file", + "mode": 420, + "path": "memory-block.h", + "sha256": "76be7522462077eba796115512b13778ebbff5be23babf8ca6cf19805d435014" + }, + { + "bytes": 2034, + "kind": "file", + "mode": 420, + "path": "mode-classes.def", + "sha256": "51d097959c833480f573c1253da61cbf79495424ff3640c577837ee5e7fe5cbd" + }, + { + "bytes": 7617, + "kind": "file", + "mode": 420, + "path": "mux-utils.h", + "sha256": "639957ca653d1b4a8caccabe94166b6e80dcc150dc7fef7120b03781d3e86338" + }, + { + "bytes": 3378, + "kind": "file", + "mode": 420, + "path": "objc/objc-tree.def", + "sha256": "c2b3a32369d99cc8260b985d647c5a4e506f0e1f95296062c8993ac33070799c" + }, + { + "bytes": 2480, + "kind": "file", + "mode": 420, + "path": "obstack-utils.h", + "sha256": "3337eebd882f83dd0d81305cd886c20403267f9030966fe91e021eb793b71c85" + }, + { + "bytes": 22405, + "kind": "file", + "mode": 420, + "path": "obstack.h", + "sha256": "d7b88aea7f6a9579f716a775fba2acbd119315e0975431c7644ec842495271d0" + }, + { + "bytes": 22884, + "kind": "file", + "mode": 420, + "path": "omp-builtins.def", + "sha256": "0ea9f9414e42aa2ebfca27d2a853594f13d30b63259303d77207e30d07ba67c6" + }, + { + "bytes": 1165, + "kind": "file", + "mode": 420, + "path": "omp-expand.h", + "sha256": "865d458725ff3ac68fe6e34ac2d9d4a9df93cf0913469d9726f426a0fc9c25cc" + }, + { + "bytes": 5983, + "kind": "file", + "mode": 420, + "path": "omp-general.h", + "sha256": "7adf96139b70216876dc610b87a81c950f197811ba7e1249031dad9f0d1c00b5" + }, + { + "bytes": 1095, + "kind": "file", + "mode": 420, + "path": "omp-low.h", + "sha256": "db8f807abd15f86cbb42242e65b1e9a3447074aab6c98424b0a7ebf2dab8b80f" + }, + { + "bytes": 1214, + "kind": "file", + "mode": 420, + "path": "omp-offload.h", + "sha256": "244d40fb972c66f1accc14712cf0ee6575209e113431fc897af09b6ec59295b3" + }, + { + "bytes": 880, + "kind": "file", + "mode": 420, + "path": "omp-simd-clone.h", + "sha256": "74456a1c9e0f39545ffa3f6eb8b3c8cfebfe7a4ab954453c6a912f4e42fa1ca3" + }, + { + "bytes": 9423, + "kind": "file", + "mode": 420, + "path": "opt-problem.h", + "sha256": "3a2ab8a4cdeba7790e0f246c37580c904dbf459e4d26a5775f82220ecefafc35" + }, + { + "bytes": 2540, + "kind": "file", + "mode": 420, + "path": "opt-suggestions.h", + "sha256": "50fb15e8b6fb8980f80cffb19667e63740c0a0a4be47bb5e5e5ab59351a2362f" + }, + { + "bytes": 3469, + "kind": "file", + "mode": 420, + "path": "optabs-libfuncs.h", + "sha256": "29ed316ac1c28a4b1df96943e194d1d63ecfe761e9f6124a418b227cd84eb87e" + }, + { + "bytes": 7104, + "kind": "file", + "mode": 420, + "path": "optabs-query.h", + "sha256": "5ed43d77e9d7d2080d5d02a78260d759c5b14028431b28055e3d4564d5aecea1" + }, + { + "bytes": 1867, + "kind": "file", + "mode": 420, + "path": "optabs-tree.h", + "sha256": "10de46939ebad137748008605be8afb05dbceb4eb7e7c09d7ffe11f11c15897f" + }, + { + "bytes": 22768, + "kind": "file", + "mode": 420, + "path": "optabs.def", + "sha256": "423d37d7db5f9ae5be74b83d2d55a4acbbbaeaf56b293d68375f7a8f7d2f24dd" + }, + { + "bytes": 14408, + "kind": "file", + "mode": 420, + "path": "optabs.h", + "sha256": "904dbf30e1cb2dae59e3ebca387fc9f4a278b1a5b468fa82c97d4a35e4e618cf" + }, + { + "bytes": 2047, + "kind": "file", + "mode": 420, + "path": "optinfo-emit-json.h", + "sha256": "b8d4716945ae169e7be105dfe9b29417a907a308dbf2ccf629a6d8bbb7a31ef4" + }, + { + "bytes": 5152, + "kind": "file", + "mode": 420, + "path": "optinfo.h", + "sha256": "8884b6514baf87d199fe0c54da077e7209cc760022a83984c3f26d6a18ec4102" + }, + { + "bytes": 504497, + "kind": "file", + "mode": 420, + "path": "options.h", + "sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3" + }, + { + "bytes": 1032, + "kind": "file", + "mode": 420, + "path": "opts-diagnostic.h", + "sha256": "b941dcb347c09c55364350b23ba666aa11d3665920a5d8d6778c4edf3454d983" + }, + { + "bytes": 1787, + "kind": "file", + "mode": 420, + "path": "opts-jobserver.h", + "sha256": "cf69cae8fdfc06b026c6c9e6f73b6569012e368d595522dda263490c7323f0cd" + }, + { + "bytes": 20111, + "kind": "file", + "mode": 420, + "path": "opts.h", + "sha256": "679ae81edf5eb0f284eb8426d2d742b795d94c718d08fa0c6be0b000fed8f99b" + }, + { + "bytes": 5035, + "kind": "file", + "mode": 420, + "path": "ordered-hash-map.h", + "sha256": "a19e5a6c8b0995d955972ac1e8e36f8e3e596def77e1071a66c5513110d8c984" + }, + { + "bytes": 25158, + "kind": "file", + "mode": 420, + "path": "output.h", + "sha256": "0b1f52111356fa8ff77fd3cc829c2a14400a6322db3743f8293f6cba3ced544c" + }, + { + "bytes": 24846, + "kind": "file", + "mode": 420, + "path": "pass-instances.def", + "sha256": "a0e160ffd36c3ad1643ac4b29dffb0cbda42eb411cf8b29618df9917e586c5f4" + }, + { + "bytes": 4112, + "kind": "file", + "mode": 420, + "path": "pass_manager.h", + "sha256": "14517703ae93aca191844dd07649820424e8c9f84cb17bab6a7058bdd91b9766" + }, + { + "bytes": 22106, + "kind": "file", + "mode": 420, + "path": "passes.def", + "sha256": "f0a89caaaec0c4e234e4840f5958cc59ed9189f18bf62309ea78bb68befd4fe6" + }, + { + "bytes": 18343, + "kind": "file", + "mode": 420, + "path": "plugin-api.h", + "sha256": "ab883946bdbc9a8143b32bf970b3be836e070c62223974b25bffae4e747836ae" + }, + { + "bytes": 595, + "kind": "file", + "mode": 420, + "path": "plugin-version.h", + "sha256": "240c05ad22d5f396015efdc5d0381c554ea79d62c8ece0402909501e59a5f1d4" + }, + { + "bytes": 3419, + "kind": "file", + "mode": 420, + "path": "plugin.def", + "sha256": "6e5670c5c93a21ee20ddb1d96974c782cb51b988fe4bd66a8aed42768b88f54e" + }, + { + "bytes": 6593, + "kind": "file", + "mode": 420, + "path": "plugin.h", + "sha256": "bf17c85ab563f8cc6808993e83dd6ef727b282b8b4ede9749d635d23feb7753b" + }, + { + "bytes": 9703, + "kind": "file", + "mode": 420, + "path": "pointer-query.h", + "sha256": "d68d16e80c901ae7f30d93772645252e184268e91f38d8e6f461f1bdd22ef2b0" + }, + { + "bytes": 4328, + "kind": "file", + "mode": 420, + "path": "poly-int-types.h", + "sha256": "e2a969980945c688e2851b91a34bfd6658ee0aa5684a6e7cab5bd81bc2ab5d6a" + }, + { + "bytes": 81531, + "kind": "file", + "mode": 420, + "path": "poly-int.h", + "sha256": "e66872fe193c40e9548de5effafec475f4d2d57ba0e69db2d2ee091c75a3caa3" + }, + { + "bytes": 10136, + "kind": "file", + "mode": 420, + "path": "predict.def", + "sha256": "f78bdbe1e3493092e5bd7544a6ec94e57e8ca280b6487d037312d68adb71a537" + }, + { + "bytes": 4752, + "kind": "file", + "mode": 420, + "path": "predict.h", + "sha256": "3a15c9bc658a8d773b9b741f9c52b5d08eb2461715478add8a0b7785a8a0c73a" + }, + { + "bytes": 1260, + "kind": "file", + "mode": 420, + "path": "prefix.h", + "sha256": "7a6f926a74485becf52e91b15cbdee5674b8470a4c5376179667e32c093430ab" + }, + { + "bytes": 16071, + "kind": "file", + "mode": 420, + "path": "pretty-print.h", + "sha256": "605c2d11126def8d4b358a661000989448a6e6777e7b04536243cac1bbe4ee03" + }, + { + "bytes": 5643, + "kind": "file", + "mode": 420, + "path": "print-rtl.h", + "sha256": "82d36d4eb489d6959e70dbaee1fb14b5d30a04a76840ded2df90572aa07d6885" + }, + { + "bytes": 1944, + "kind": "file", + "mode": 420, + "path": "print-tree.h", + "sha256": "ad87f6e71674db1ea93d24fd13c5f4ba4a44c910c438389d1a3f3ed0f944efef" + }, + { + "bytes": 39197, + "kind": "file", + "mode": 420, + "path": "profile-count.h", + "sha256": "daacfd3111a8ae358573e4edd62d06a765824feaa61ee6e3bfd2fce6719c715a" + }, + { + "bytes": 2335, + "kind": "file", + "mode": 420, + "path": "profile.h", + "sha256": "00eeecf678a97ef2d8b27c21739580e2fb4b22758807b9351ba421338e5fc5c4" + }, + { + "bytes": 10757, + "kind": "file", + "mode": 420, + "path": "range-op.h", + "sha256": "97143b407697c7e1dd429675660e8e5c262e90331c0cf3509ce5e998e8ed2bc8" + }, + { + "bytes": 1690, + "kind": "file", + "mode": 420, + "path": "range.h", + "sha256": "ac66d273dd27ae1aa5672ba820129727c2b48110d7f780922a8d46ba26e12d02" + }, + { + "bytes": 13190, + "kind": "file", + "mode": 420, + "path": "read-md.h", + "sha256": "b4d0bb94bf80c7cd2426e80d98b6063ceaf9fe77135e2323cde155d7ae4f20e7" + }, + { + "bytes": 1002, + "kind": "file", + "mode": 420, + "path": "read-rtl-function.h", + "sha256": "087dae9fb10d3d7fca65278b2fcd521477058b91c3242a385853e22897497b81" + }, + { + "bytes": 21374, + "kind": "file", + "mode": 420, + "path": "real.h", + "sha256": "64bb28d4bd9cee160cb7a165827ac901f8fc5c0fb0c7d0976885a37ab065119f" + }, + { + "bytes": 1302, + "kind": "file", + "mode": 420, + "path": "realmpfr.h", + "sha256": "d8f33b66341cd504dab1a29eebd8215a56e1769b57a4d62b6a9ad3ed1f7e5c0c" + }, + { + "bytes": 18160, + "kind": "file", + "mode": 420, + "path": "recog.h", + "sha256": "65f535deb2993fa5960cc5f39477b710b3d6ebe5ab2d6b4165bd8d61acce560b" + }, + { + "bytes": 10982, + "kind": "file", + "mode": 420, + "path": "reg-notes.def", + "sha256": "71888a6aa0d904d1462f91a82810073231c8526d0f33a9a7a6d82cbb87cd7b3e" + }, + { + "bytes": 877, + "kind": "file", + "mode": 420, + "path": "regcprop.h", + "sha256": "b58d176b75700c415cfad8218d7a2b08ee8004bda1cc22ba50dac9bd4978a38b" + }, + { + "bytes": 3563, + "kind": "file", + "mode": 420, + "path": "regrename.h", + "sha256": "1e36a6da41687305e5a97cb741594abb02b4d3fff577fcb8a62138c5822ebfaa" + }, + { + "bytes": 12634, + "kind": "file", + "mode": 420, + "path": "regs.h", + "sha256": "15d9102c0bf9155ba02c9a3806be502e9ac5f788a30c5e5f17dd873e7bf2bc5a" + }, + { + "bytes": 4824, + "kind": "file", + "mode": 420, + "path": "regset.h", + "sha256": "2728d61c5e85efc5802bebd3310845d1e72f6554418810ae5edace22e49e0241" + }, + { + "bytes": 17659, + "kind": "file", + "mode": 420, + "path": "reload.h", + "sha256": "3abb0b6d1e9c65d38b61b185c88c5ebf37e51beaf2bf8912c3bdae3d2e46050b" + }, + { + "bytes": 1981, + "kind": "file", + "mode": 420, + "path": "resource.h", + "sha256": "5830422162a9e2bf8aae757776bf399fc10dbaa599504343f4effc3737605b81" + }, + { + "bytes": 1050, + "kind": "file", + "mode": 420, + "path": "rtl-error.h", + "sha256": "0398b05ae75bbaa2014dee32fe3b5614ba536c2a40e899985dc83c3db52feea8" + }, + { + "bytes": 8363, + "kind": "file", + "mode": 420, + "path": "rtl-iter.h", + "sha256": "4fa2852f3ea51e76acfbaca3d8297b94ad04d66cf4d2712a4475e17fba73a1d2" + }, + { + "bytes": 1991, + "kind": "file", + "mode": 420, + "path": "rtl-ssa.h", + "sha256": "bea1a8cd10f40cc67634ead997999942231497ab46f2b5ae5bf07991c5efa230" + }, + { + "bytes": 61440, + "kind": "file", + "mode": 420, + "path": "rtl.def", + "sha256": "0a5f215a95ba9df29b8fc743f7e477e2a493e16d2c91b5d5ad349846497e0764" + }, + { + "bytes": 160104, + "kind": "file", + "mode": 420, + "path": "rtl.h", + "sha256": "141702d3ec4ef6829ad9f8082850a8d4cfb7483b7e1cbc500de4e34418bacb9c" + }, + { + "bytes": 10466, + "kind": "file", + "mode": 420, + "path": "rtlanal.h", + "sha256": "5f3a7b97630a0a51cc4a40175e162f0ff85b9cc1d547b140496bbf783efc7895" + }, + { + "bytes": 850, + "kind": "file", + "mode": 420, + "path": "rtlhash.h", + "sha256": "28b8d35d5616c74c62fa31b5674318d7e0fba611f2bf06192fd636d0ea474b35" + }, + { + "bytes": 1797, + "kind": "file", + "mode": 420, + "path": "rtlhooks-def.h", + "sha256": "d5c4db6a98b8586c5f8dca8f225041caf4f3473ad95e54583866dae9f5a75a37" + }, + { + "bytes": 3848, + "kind": "file", + "mode": 420, + "path": "rtx-vector-builder.h", + "sha256": "f5e36f8d27a594b77cb0530ba42ea335c9eceabdab7961675efd0d0c5304d539" + }, + { + "bytes": 884, + "kind": "file", + "mode": 420, + "path": "run-rtl-passes.h", + "sha256": "9582b29310769bfaabfe8c23c637c6d8e1376edd9ec9bcc176fb38b99848c206" + }, + { + "bytes": 5642, + "kind": "file", + "mode": 420, + "path": "safe-ctype.h", + "sha256": "e7e2202f4b96bc269c5a885812b4a919c92e64e196d106b0a8db4a93572e7bd3" + }, + { + "bytes": 33537, + "kind": "file", + "mode": 420, + "path": "sanitizer.def", + "sha256": "e4069289ef31866fde4d1acdbd4a747e5d99586e058067b57b3343b0ea6f92ec" + }, + { + "bytes": 10369, + "kind": "file", + "mode": 420, + "path": "sbitmap.h", + "sha256": "9958ea326e761f3ff9c9526c7223b076fc4b9cec7c9453f21083a320210eb2c5" + }, + { + "bytes": 61641, + "kind": "file", + "mode": 420, + "path": "sched-int.h", + "sha256": "dc1a6562fe614c64146430ed54600e933c30a5061cec75aea95e46083477743a" + }, + { + "bytes": 6940, + "kind": "file", + "mode": 420, + "path": "sel-sched-dump.h", + "sha256": "d6d217bd789ab925858267a761092651c2fe7a9b5fd530ed9009ffa627e86aad" + }, + { + "bytes": 48949, + "kind": "file", + "mode": 420, + "path": "sel-sched-ir.h", + "sha256": "b17053bd5d174df238c8bc41be386f371ed678dc170e4cfb90dc5ba4d87e9e3a" + }, + { + "bytes": 920, + "kind": "file", + "mode": 420, + "path": "sel-sched.h", + "sha256": "c1f7a7e88904e6b3f2f64b94bd77dd2a27e986153047d5896099163227df8282" + }, + { + "bytes": 1493, + "kind": "file", + "mode": 420, + "path": "selftest-diagnostic.h", + "sha256": "3662ed457aa27813ef3f0802f4d48dc039213a453f434e757808e4f6a4f8e03a" + }, + { + "bytes": 3235, + "kind": "file", + "mode": 420, + "path": "selftest-rtl.h", + "sha256": "feda33ddda3dd145deed464204db202a5c8075fe9fdc30fcdbcae2bb71a69983" + }, + { + "bytes": 15588, + "kind": "file", + "mode": 420, + "path": "selftest.h", + "sha256": "d2cf01d8ef1465541dfbbf3bbd3fad1c32d2b35dc4d89d20f9095b54137d5719" + }, + { + "bytes": 7500, + "kind": "file", + "mode": 420, + "path": "sese.h", + "sha256": "bc5b78d700b487e41136fa6a422d603b033f853539c19cb03f4249b6e346c345" + }, + { + "bytes": 6205, + "kind": "file", + "mode": 420, + "path": "shortest-paths.h", + "sha256": "2eaff39957c8b8c6195b2eeebf1601d74aa203959545d223001b436311eab295" + }, + { + "bytes": 1165, + "kind": "file", + "mode": 420, + "path": "shrink-wrap.h", + "sha256": "4c02ba20251963758c89b10899393b28662d9463c09f23cdf1a26b63c9f6726e" + }, + { + "bytes": 1056, + "kind": "file", + "mode": 420, + "path": "signop.h", + "sha256": "aee11f55692dd8b2bda2d8a04c45b7d40379c55258dda5db1f03c3515631f8a0" + }, + { + "bytes": 6812, + "kind": "file", + "mode": 420, + "path": "sparseset.h", + "sha256": "c7eb94536c94fd08bcc4dc755716d6b4d975bd75f71f8186f3c0e510d449c5f2" + }, + { + "bytes": 1416, + "kind": "file", + "mode": 420, + "path": "spellcheck-tree.h", + "sha256": "ff8432c6862f0d119017626789c451dea9388b6ea74eba4f53186beabd135094" + }, + { + "bytes": 7360, + "kind": "file", + "mode": 420, + "path": "spellcheck.h", + "sha256": "330f381fc436a17de505c30f977ef2a2ee4692e0b0dffdb4b752a37f14ebc4d0" + }, + { + "bytes": 16880, + "kind": "file", + "mode": 420, + "path": "splay-tree-utils.h", + "sha256": "a13bf0f6af9d93a621f33172d1b3219e0d650edd91ee16e876098bf305cb2d27" + }, + { + "bytes": 6238, + "kind": "file", + "mode": 420, + "path": "splay-tree.h", + "sha256": "687795657e77a2e1105c5b92cb43e3c1de4a4ee53adcabe25ceceebbac42bb1d" + }, + { + "bytes": 6565, + "kind": "file", + "mode": 420, + "path": "sreal.h", + "sha256": "394ea5f83e88fdb19768e37b092e72117a9c1cb60e0af28042372d18fe702f47" + }, + { + "bytes": 29828, + "kind": "file", + "mode": 420, + "path": "ssa-iterators.h", + "sha256": "13a470f159f7f31c4495af6fc4ac50d7d82d8e31555ced66ae4444ddb261df84" + }, + { + "bytes": 1039, + "kind": "file", + "mode": 420, + "path": "ssa.h", + "sha256": "2a1314704e22f2752d1cf83d62ead4d5eb416839b438c4cad9410e5483b2a72a" + }, + { + "bytes": 2846, + "kind": "file", + "mode": 420, + "path": "statistics.h", + "sha256": "66de3aed44d510172a51dcd99cb2445354d12fa5c09fde43eb4048e5e2f32897" + }, + { + "bytes": 2034, + "kind": "file", + "mode": 420, + "path": "stmt.h", + "sha256": "234685ba8f567bf512c870e4cc462249937cb9c50c4845c8159009b827e2af03" + }, + { + "bytes": 5099, + "kind": "file", + "mode": 420, + "path": "stor-layout.h", + "sha256": "7052fef7a6781651860182890449787cddc5731f2e8a8b34ec9d3dc576873e67" + }, + { + "bytes": 3695, + "kind": "file", + "mode": 420, + "path": "streamer-hooks.h", + "sha256": "16e3d55112b0e7911eba6dad328e1a25fe4c607e35b6c33349b742db6a8a0960" + }, + { + "bytes": 1491, + "kind": "file", + "mode": 420, + "path": "stringpool.h", + "sha256": "9665167dd0003d60d4b72880ce61a477f1560c972d6097a2cdaa24e03d6cacd2" + }, + { + "bytes": 4744, + "kind": "file", + "mode": 420, + "path": "substring-locations.h", + "sha256": "c8ea502e9cd745da74c655fcfad7df2fc43733bb808d3742b7125715cc41cdbf" + }, + { + "bytes": 27511, + "kind": "file", + "mode": 420, + "path": "symbol-summary.h", + "sha256": "04876299a21be45ce7543996f24d0c327114b657f59bf5736fa2fd48037724d2" + }, + { + "bytes": 2076, + "kind": "file", + "mode": 420, + "path": "symtab-clones.h", + "sha256": "43d5903da1b24590ca92a4d3823de558f100d39ad9b7efc1ca11b28c82473eff" + }, + { + "bytes": 5041, + "kind": "file", + "mode": 420, + "path": "symtab-thunks.h", + "sha256": "367e3314b662a799a41d0403d2bb530aef3a8717e6e02908a6c51a89d1785a85" + }, + { + "bytes": 3734, + "kind": "file", + "mode": 420, + "path": "symtab.h", + "sha256": "7223c38982d25c4f205f961f82c6a2aa95fadcae197b96a5f75d6d0eb635820c" + }, + { + "bytes": 27679, + "kind": "file", + "mode": 420, + "path": "sync-builtins.def", + "sha256": "0968daba86d57430f56d28c37c797431ff3dc3efb11142562d9fa08d68dd86f0" + }, + { + "bytes": 42057, + "kind": "file", + "mode": 420, + "path": "system.h", + "sha256": "18acfc4265c88125ae0a190e31c2e865a7726c9fdcc057990e7bfeaa6e62c56c" + }, + { + "bytes": 4265, + "kind": "file", + "mode": 420, + "path": "target-def.h", + "sha256": "42926ae26ac08524751c635312c73d9e6fd6e95d05a61656ebc6bd0663a4fbf1" + }, + { + "bytes": 3413, + "kind": "file", + "mode": 420, + "path": "target-globals.h", + "sha256": "91615ca3c302e3d40c9eba9df5829ef15e0f6346c7ef57d85ed1a6179d181860" + }, + { + "bytes": 4060, + "kind": "file", + "mode": 420, + "path": "target-hooks-macros.h", + "sha256": "614946cc27b8d6b45efdebd6b8b92bba70b65161ad0e963f64891c106bd1ab62" + }, + { + "bytes": 5385, + "kind": "file", + "mode": 420, + "path": "target-insns.def", + "sha256": "86f6e27cf0de4f2b3b85faed07421312087dbf34ab1da0dfe0adc3aa0387ed1d" + }, + { + "bytes": 324195, + "kind": "file", + "mode": 420, + "path": "target.def", + "sha256": "4b09a0f3c94866ecfdaedcdf645e2e469a787b145dfc4bd3139e91a3cc5d4b7b" + }, + { + "bytes": 9322, + "kind": "file", + "mode": 420, + "path": "target.h", + "sha256": "196b78a30e006a4e6a4aa213a5b9f60dac0939ad7f7f60ce6418374488efca6c" + }, + { + "bytes": 14065, + "kind": "file", + "mode": 420, + "path": "targhooks.h", + "sha256": "63f067f4e08cbe1c4163e72263ab11db4f40904456a14f19a7ebac777db5154a" + }, + { + "bytes": 18489, + "kind": "file", + "mode": 420, + "path": "timevar.def", + "sha256": "ad36ee0acd2323014fd3030bed61940b5701eee1ac0aabbe8779eb444e443792" + }, + { + "bytes": 7825, + "kind": "file", + "mode": 420, + "path": "timevar.h", + "sha256": "2503c672b155608463651164ec3b7920ef9e3c3aedf327579890e6f6dea53747" + }, + { + "bytes": 15692, + "kind": "file", + "mode": 420, + "path": "tm-preds.h", + "sha256": "9ab00124c52294df63f666481b6201303792fd97155d67981bc74594ddf9157c" + }, + { + "bytes": 1184, + "kind": "file", + "mode": 420, + "path": "tm.h", + "sha256": "d384ae33a23985613c839280f1b4845b3415c055e32209c6bc795a4d594f018f" + }, + { + "bytes": 178, + "kind": "file", + "mode": 420, + "path": "tm_p.h", + "sha256": "d8729f976710961c7d34afc545be1c22dfb654be3425ce379511c6f837979141" + }, + { + "bytes": 2853, + "kind": "file", + "mode": 420, + "path": "toplev.h", + "sha256": "94db68428a4204367beebe06af7039204b0a1585b192dbe3fbc9e2c2e48aca3e" + }, + { + "bytes": 903, + "kind": "file", + "mode": 420, + "path": "tracer.h", + "sha256": "70fc64b69e8c6e69ba860d3611bff17183fac32f2d2a6050383d1627f87aef08" + }, + { + "bytes": 1937, + "kind": "file", + "mode": 420, + "path": "trans-mem.h", + "sha256": "48614ce6d1de0747f00f7e7d6688194aaee8b1cc95e198b8b9081f0001c0bef3" + }, + { + "bytes": 3892, + "kind": "file", + "mode": 420, + "path": "tree-affine.h", + "sha256": "a3d786765e5e8c9db578aa39b36f0ace394eb235d89c9b84709b4283e99ee361" + }, + { + "bytes": 5902, + "kind": "file", + "mode": 420, + "path": "tree-cfg.h", + "sha256": "d30ad2d326dc52920c97453044915ce687b15493d08c80bc4e14e7e8ff2ad510" + }, + { + "bytes": 1207, + "kind": "file", + "mode": 420, + "path": "tree-cfgcleanup.h", + "sha256": "24615be2b839893f983c6bd916065b7dbf708f5a8517c5905d8571d6527fa81e" + }, + { + "bytes": 23198, + "kind": "file", + "mode": 420, + "path": "tree-check.h", + "sha256": "81664ae9afd3c1ecd324c6bbdea316238e0ea2c088d7f01b71904d633725a39d" + }, + { + "bytes": 7260, + "kind": "file", + "mode": 420, + "path": "tree-chrec.h", + "sha256": "67399acc52c905646efc22970c64b744431ad89781dd5fe471ef0b2705bdb928" + }, + { + "bytes": 69861, + "kind": "file", + "mode": 420, + "path": "tree-core.h", + "sha256": "72c8a34ea0beb747d9b4ae82cc8c206dce09ed0de5b6a2e0e147df7c959274dc" + }, + { + "bytes": 25753, + "kind": "file", + "mode": 420, + "path": "tree-data-ref.h", + "sha256": "b5db489b124efdadac5fdb41ae52b43b833e2068bfe30e8d7bb32378ebebe324" + }, + { + "bytes": 1898, + "kind": "file", + "mode": 420, + "path": "tree-dfa.h", + "sha256": "e2682f2108c770b4cff558b4a94f34e727b63bc27952e35bb429d8bc10e9c45c" + }, + { + "bytes": 2740, + "kind": "file", + "mode": 420, + "path": "tree-diagnostic.h", + "sha256": "686c6456f152eebb3165a614a7bb9a023c9288321b45deb8dc48fcc9b7001e71" + }, + { + "bytes": 2882, + "kind": "file", + "mode": 420, + "path": "tree-dump.h", + "sha256": "d47a731de33f8ec5b39d1766423dd09f2c96166a97136a9ef3d2d45db2219cf1" + }, + { + "bytes": 2494, + "kind": "file", + "mode": 420, + "path": "tree-eh.h", + "sha256": "175e52e40899cf68d11021d9003601f4504e3645f77ab5660c469d34295055c3" + }, + { + "bytes": 1248, + "kind": "file", + "mode": 420, + "path": "tree-hash-traits.h", + "sha256": "e849d35541688b86c31bc9b8f680644932badbe00390fa10012b1f278d2bdc76" + }, + { + "bytes": 1922, + "kind": "file", + "mode": 420, + "path": "tree-hasher.h", + "sha256": "ee8dc16a1108fc9fd35fcd814fd4a46a4d91a3300199ebeee46cf6bd3d2b7dcb" + }, + { + "bytes": 845, + "kind": "file", + "mode": 420, + "path": "tree-if-conv.h", + "sha256": "4044e2f7b1a8b7c71ea1a4044ad475654b8deaa774515e79e93986b7ba22238f" + }, + { + "bytes": 8783, + "kind": "file", + "mode": 420, + "path": "tree-inline.h", + "sha256": "94fd38febea66c112ae50f7a40614f9d6a4a6891ce1e0c2ce9fabaf7b5b7dba5" + }, + { + "bytes": 1967, + "kind": "file", + "mode": 420, + "path": "tree-into-ssa.h", + "sha256": "281eb66117fa6e31a1c2a8dec62e6b7cd89fd254fce5c0b661e7251c7413d636" + }, + { + "bytes": 4209, + "kind": "file", + "mode": 420, + "path": "tree-iterator.h", + "sha256": "43f2b75441dddf1761845ccf1ba5801ec6cbe28c12b4d49247b6a0e28d0df0ee" + }, + { + "bytes": 2239, + "kind": "file", + "mode": 420, + "path": "tree-logical-location.h", + "sha256": "3ab97eca2ae52177f8569ca13446c7e042ac120dd5e268f7a350729460cca265" + }, + { + "bytes": 2743, + "kind": "file", + "mode": 420, + "path": "tree-nested.h", + "sha256": "4fad928b3dc11362c2a40724cb2c57ab833a094289ed0a543769eafc8984884f" + }, + { + "bytes": 1119, + "kind": "file", + "mode": 420, + "path": "tree-object-size.h", + "sha256": "92d5051512088e6eec0cc59ac147f6341324424b3097b007cc6fdddc3f5bcedf" + }, + { + "bytes": 2731, + "kind": "file", + "mode": 420, + "path": "tree-outof-ssa.h", + "sha256": "8f3c9e4aaa6c024e292ecec67bfd1f1dddc53a03ee3aa0d1800e8473ad2fd307" + }, + { + "bytes": 864, + "kind": "file", + "mode": 420, + "path": "tree-parloops.h", + "sha256": "93e5e2a2451f179f82e0bbb9e05212f86409afc0c8819449907eee3ffbf7ba61" + }, + { + "bytes": 33360, + "kind": "file", + "mode": 420, + "path": "tree-pass.h", + "sha256": "5c0d48970ef2feff54f820cedbd2ec03ed4429ebe01fcd418a0798fa2cdeb732" + }, + { + "bytes": 2233, + "kind": "file", + "mode": 420, + "path": "tree-phinodes.h", + "sha256": "0e30ea4024a1137cfbc0a9f111a95af10b81229f382d5c78ab7f3a758b5df4b0" + }, + { + "bytes": 2611, + "kind": "file", + "mode": 420, + "path": "tree-pretty-print.h", + "sha256": "55946e594a4411c6952e58ba0c48c0fc9b04f2d5343f4569c24e491a06c911a8" + }, + { + "bytes": 2639, + "kind": "file", + "mode": 420, + "path": "tree-scalar-evolution.h", + "sha256": "ac1fe4387efb0886401aab91be2a163eaef8e19d4c86edfc01ce7cabb46f2c89" + }, + { + "bytes": 1257, + "kind": "file", + "mode": 420, + "path": "tree-sra.h", + "sha256": "4de1ecd294cf8f170d9125bcc679e7e97cf6eddf196fbad815b1dcc09d7f0974" + }, + { + "bytes": 1660, + "kind": "file", + "mode": 420, + "path": "tree-ssa-address.h", + "sha256": "2e5ee918aadfad4eab3110ac015b58f0a422322837428b820d0fcad31e6f7c2a" + }, + { + "bytes": 1370, + "kind": "file", + "mode": 420, + "path": "tree-ssa-alias-compare.h", + "sha256": "fdcc413bd1c26e60ced05955775249adc50d845cc717e1232b771cbc46a10cd2" + }, + { + "bytes": 7908, + "kind": "file", + "mode": 420, + "path": "tree-ssa-alias.h", + "sha256": "e480abea7e5453f93991d93b68eba5f24172cd5025edc69d1903ecaac3377ab4" + }, + { + "bytes": 1080, + "kind": "file", + "mode": 420, + "path": "tree-ssa-ccp.h", + "sha256": "4aa56ee7936b971cdcfcfe02d8e50b7c73898148d0b13c900998cce4b3e3826c" + }, + { + "bytes": 925, + "kind": "file", + "mode": 420, + "path": "tree-ssa-coalesce.h", + "sha256": "d57695859d946a0a08b6ba67647d9f019719e7ae28d00aafa9090bb1ffd23821" + }, + { + "bytes": 783, + "kind": "file", + "mode": 420, + "path": "tree-ssa-dce.h", + "sha256": "39890e388df9c1e58ea3231fd8b62e83cdc94eacd9ca34697202432f512000fb" + }, + { + "bytes": 866, + "kind": "file", + "mode": 420, + "path": "tree-ssa-dom.h", + "sha256": "19e58e107972cbc4dd0c476501c9f22cfc8928e44656d5a0b63406a69fe1147f" + }, + { + "bytes": 1190, + "kind": "file", + "mode": 420, + "path": "tree-ssa-dse.h", + "sha256": "e3471ff30a880e9fb0b20536337e1c47ad81e95191a0d7a9d3f68769a446cc79" + }, + { + "bytes": 9848, + "kind": "file", + "mode": 420, + "path": "tree-ssa-live.h", + "sha256": "7eb1f5add837f73a595b6f99be137f4504bc78a2545d5113a4ac04c7dd40aee7" + }, + { + "bytes": 1487, + "kind": "file", + "mode": 420, + "path": "tree-ssa-loop-ivopts.h", + "sha256": "27b4830de909093ea950ef749f2bec5262292e20085e9b3f03e9c7560cf355ac" + }, + { + "bytes": 2216, + "kind": "file", + "mode": 420, + "path": "tree-ssa-loop-manip.h", + "sha256": "9180801003efef48b9ac6478249a61a2007cfbdb6ca6869bf6a843878ff04779" + }, + { + "bytes": 3026, + "kind": "file", + "mode": 420, + "path": "tree-ssa-loop-niter.h", + "sha256": "7210f337e00c14ab24f5e12a0548fe10ddd9a116fab8a026d1d4af53a3d1756b" + }, + { + "bytes": 2892, + "kind": "file", + "mode": 420, + "path": "tree-ssa-loop.h", + "sha256": "2dc61c12421e0fd2556fcbb4a3f09d983ec09487f443543dfd1f399e49970cdc" + }, + { + "bytes": 948, + "kind": "file", + "mode": 420, + "path": "tree-ssa-math-opts.h", + "sha256": "d691cd0b7efc3973eb7643177b9fb7fc703f535f8d3a2feb8721769838e57fb1" + }, + { + "bytes": 3960, + "kind": "file", + "mode": 420, + "path": "tree-ssa-operands.h", + "sha256": "a5952f0283876d4936a5f2d4b02986501eecb1648ae6df9aa1377cbe702b1c52" + }, + { + "bytes": 4169, + "kind": "file", + "mode": 420, + "path": "tree-ssa-propagate.h", + "sha256": "1999fca83931fd4e130324c8c322eeb584fc0ee93f2d5f792588fcc9b473f6ed" + }, + { + "bytes": 1298, + "kind": "file", + "mode": 420, + "path": "tree-ssa-reassoc.h", + "sha256": "6cc2f85619723a929dd0769d5072625b5fd8d50edc7421e70fff43edb7169d94" + }, + { + "bytes": 10715, + "kind": "file", + "mode": 420, + "path": "tree-ssa-sccvn.h", + "sha256": "321de0f0993e17553bb211f21edff5b4f1c11738d5551116f3b06a8393ce41f9" + }, + { + "bytes": 6924, + "kind": "file", + "mode": 420, + "path": "tree-ssa-scopedtables.h", + "sha256": "5fc7bd13d7161135656c45c6a9c7e3e2e76677cb871bd37306c2334a890cad9c" + }, + { + "bytes": 1524, + "kind": "file", + "mode": 420, + "path": "tree-ssa-strlen.h", + "sha256": "715849f809a9ec47d18dc8dce4bdef3b4e80327d0ffc711e4aca057142af2f34" + }, + { + "bytes": 917, + "kind": "file", + "mode": 420, + "path": "tree-ssa-ter.h", + "sha256": "e56a2853b629f9b88dde117aca2213d76329ddcd20a88536abf9cbc0bf3e1828" + }, + { + "bytes": 4235, + "kind": "file", + "mode": 420, + "path": "tree-ssa-threadedge.h", + "sha256": "256730ffac7856335a8ac3a080822cecfa7f330d77377fb806c370c84869ba92" + }, + { + "bytes": 4840, + "kind": "file", + "mode": 420, + "path": "tree-ssa-threadupdate.h", + "sha256": "d00fc4ff751939442bb13200c245be5c7ab180a7f72e7b319b20548e918612b3" + }, + { + "bytes": 3558, + "kind": "file", + "mode": 420, + "path": "tree-ssa.h", + "sha256": "cad297231afa3fe7cc90d66cd8507d13c037e5d1818e2b7d799b9a32d6e6efe9" + }, + { + "bytes": 4832, + "kind": "file", + "mode": 420, + "path": "tree-ssanames.h", + "sha256": "9137c7fe117fec9307874e6171240c6187918b3196b22565af89ec9c944f5349" + }, + { + "bytes": 1144, + "kind": "file", + "mode": 420, + "path": "tree-stdarg.h", + "sha256": "5a26f5d6c0099b6f338ed8b99cc028567836d8efdc08e26af4fb513456cec2f2" + }, + { + "bytes": 4350, + "kind": "file", + "mode": 420, + "path": "tree-streamer.h", + "sha256": "e0eef442b4a28d84342c008c03db818e0321a1e86a2308d5ab3fdde9a2786b58" + }, + { + "bytes": 28402, + "kind": "file", + "mode": 420, + "path": "tree-switch-conversion.h", + "sha256": "c57a807c586b9bc8badbeb0efca1998a5b02ddd772685fa45affa05d775d3ab5" + }, + { + "bytes": 4401, + "kind": "file", + "mode": 420, + "path": "tree-vector-builder.h", + "sha256": "4bf2efbba9eff4a89fc749d3e8eeeab4214413d01b7708fe398138fbbf445469" + }, + { + "bytes": 94603, + "kind": "file", + "mode": 420, + "path": "tree-vectorizer.h", + "sha256": "d8c0f2d77952e655c40122a1f81d332bbbf3b60d8a0e6e35a65b709f9fa82018" + }, + { + "bytes": 1736, + "kind": "file", + "mode": 420, + "path": "tree-vrp.h", + "sha256": "48a0510e236793b2b45f59b153f12e99e354ae7f522723859b6572c3890cf297" + }, + { + "bytes": 72523, + "kind": "file", + "mode": 420, + "path": "tree.def", + "sha256": "f70aa7747e4e7eb16e7b8e5b980ce7aad073f3eab04b0490b04757075751557f" + }, + { + "bytes": 263001, + "kind": "file", + "mode": 420, + "path": "tree.h", + "sha256": "e43b7e2a14af9d9f70d3665117a7c56022dc024e9d7d5342515480b661c1a4fb" + }, + { + "bytes": 2857, + "kind": "file", + "mode": 420, + "path": "treestruct.def", + "sha256": "ff574f07a550c10b969f9bc6e807cff29dd42165f5b4576346d582f61eb977d2" + }, + { + "bytes": 2074, + "kind": "file", + "mode": 420, + "path": "tristate.h", + "sha256": "d510e8c6a7577927866daa8ac11d119c0053aed4fd06b36e69d46094ac142ee3" + }, + { + "bytes": 876, + "kind": "file", + "mode": 420, + "path": "tsan.h", + "sha256": "0d38c04e33b5148e3b942a927cc527426b78ac11ed3ceb4f3269b021f90aa016" + }, + { + "bytes": 3858, + "kind": "file", + "mode": 420, + "path": "tsystem.h", + "sha256": "aca99131c169f3ad2b1dbdc9ea8212af4db1b60dea6504a4a898f3b709ee6fe8" + }, + { + "bytes": 1507, + "kind": "file", + "mode": 420, + "path": "typeclass.h", + "sha256": "79619807973c2ef13c659fa7b489d03b4f0d33999abdc6e764f24361d2b0175b" + }, + { + "bytes": 16565, + "kind": "file", + "mode": 420, + "path": "typed-splay-tree.h", + "sha256": "d0fa2a152a1ccae57677a247f8d3d0e0b7587b8c278b0a25599d93cfec060474" + }, + { + "bytes": 2454, + "kind": "file", + "mode": 420, + "path": "ubsan.h", + "sha256": "169467579ba4adbfd804265ac2bd7359ef16c79391fa6602f4d7f2033061bf6b" + }, + { + "bytes": 4631, + "kind": "file", + "mode": 420, + "path": "valtrack.h", + "sha256": "bb80a90527416b1719df1eb3f393a33a0dc0ea441192dacc83e58c69574f52da" + }, + { + "bytes": 2013, + "kind": "file", + "mode": 420, + "path": "value-pointer-equiv.h", + "sha256": "89196b6ff62143633c6a518df1836c04bb72e30afb08224e0dbdd75128069274" + }, + { + "bytes": 4832, + "kind": "file", + "mode": 420, + "path": "value-prof.h", + "sha256": "8d7d741b2c71b3c7e40e6391815f74052648c61c43ab79119776e74722dcba04" + }, + { + "bytes": 5296, + "kind": "file", + "mode": 420, + "path": "value-query.h", + "sha256": "f1393db4cd32c375b0ce3214da19c2349b24b7fa74d40afa387df74e30927dd1" + }, + { + "bytes": 1408, + "kind": "file", + "mode": 420, + "path": "value-range-pretty-print.h", + "sha256": "8212903dda4dede929ebe9dce14e52a435e858d377e1e2e32431d307f3a7c9c9" + }, + { + "bytes": 6554, + "kind": "file", + "mode": 420, + "path": "value-range-storage.h", + "sha256": "f6cde179c507cc69043d9dd279051d105070ac06dcda4b053e85b0c24763e3b4" + }, + { + "bytes": 35834, + "kind": "file", + "mode": 420, + "path": "value-range.h", + "sha256": "7e3b1ccb1268f0a3068503204f0de815e4bf7744b1c519f47f1a9673e10a3188" + }, + { + "bytes": 17660, + "kind": "file", + "mode": 420, + "path": "value-relation.h", + "sha256": "803a42ad4f6efc53d2e7da1e0860f2bf1431e30a274e2208d32c4c8db4609005" + }, + { + "bytes": 3366, + "kind": "file", + "mode": 420, + "path": "varasm.h", + "sha256": "20af661619be8b238c7e86125de78ee17ff8c1df86ba14819bc2f5d8c5d236b8" + }, + { + "bytes": 5396, + "kind": "file", + "mode": 420, + "path": "vec-perm-indices.h", + "sha256": "1615a0e5983a6ae79f9cd34924a43c6b6bc5bc63cd0bd8f688775fc7b41c1b8f" + }, + { + "bytes": 68181, + "kind": "file", + "mode": 420, + "path": "vec.h", + "sha256": "3b4f5d131eaaf0b85bd32d96b745296829e8b041e51f3edef9b315d95778e84e" + }, + { + "bytes": 20401, + "kind": "file", + "mode": 420, + "path": "vector-builder.h", + "sha256": "f8cd58ea9fb282c54da1234af84636a1c3a048ec945f994376afcbc4e752c505" + }, + { + "bytes": 885, + "kind": "file", + "mode": 420, + "path": "version.h", + "sha256": "fe068e90580c6b374a6edac2c134b2c4180d393a0147e373cefa33cf2869d1cc" + }, + { + "bytes": 6525, + "kind": "file", + "mode": 420, + "path": "vmsdbg.h", + "sha256": "99071fb0b5ecdf2815fbbfe637ed7c4b89dcfa1e524c5b818af845ca0db0cbb3" + }, + { + "bytes": 3388, + "kind": "file", + "mode": 420, + "path": "vr-values.h", + "sha256": "47dd314e60d70600a3f8dcc7a7ac53510c59dce4a6d25adb57fda92e8b315201" + }, + { + "bytes": 6900, + "kind": "file", + "mode": 420, + "path": "vtable-verify.h", + "sha256": "6bec4dbf6021c2e28cb381ac74f8fe642643c1b3089e0cf5ddd2adf96f672eb9" + }, + { + "bytes": 3351, + "kind": "file", + "mode": 420, + "path": "wide-int-bitmask.h", + "sha256": "8ba13aba55db5db81c466ba6746d4f69f5d42fa2fc9b003bbbf5e85e9fe3ee06" + }, + { + "bytes": 1410, + "kind": "file", + "mode": 420, + "path": "wide-int-print.h", + "sha256": "09fe308dede2d6b4440bfab52635e68e4d6530e9a63d49824dec7e67bd8a7d4e" + }, + { + "bytes": 113480, + "kind": "file", + "mode": 420, + "path": "wide-int.h", + "sha256": "f68d0a5f637239065ad46e0f6bcc840d3491e33b391ed85844eb1983b9d34f81" + }, + { + "bytes": 1177, + "kind": "file", + "mode": 420, + "path": "xcoff.h", + "sha256": "586e49f5466bd85323f6b458ba8c1beb99bed3bfb5f62fbe8a2ad5bbb87c26b1" + } + ], + "package_sha256": "3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f", + "schema": "unit03-header-member-pins-v1" +} diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/test_configured_data_v1.py b/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/test_configured_data_v1.py new file mode 100644 index 0000000000..f4e1406e08 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/pre-review-v1/test_configured_data_v1.py @@ -0,0 +1,225 @@ +"""New pure finite controls only; no compiler/diagnostics/original imports.""" +import io +import json +import tarfile +import unittest +from pathlib import Path +import configured_data_v1 as data +import generated_config_v1 as generated + + +def control(checksum="a"*64,size=3,filename="plugin.deb"): + return ("Format: 1.0\nSource: gcc-13\nVersion: exact\nArchitecture: amd64\n" + "Checksums-Sha256:\n "+checksum+" "+str(size)+" "+filename+"\n").encode() + + +def ar_part(name,payload): + # Independent fixture writer: no ar/dpkg/package process is invoked. + header=(name+"/").ljust(16)+"0".ljust(12)+"0".ljust(6)+"0".ljust(6)+"100644".ljust(8)+str(len(payload)).ljust(10)+"`\n" + return header.encode()+payload+(b"\n" if len(payload)%2 else b"") + + +def ar_fixture(parts=None): + parts=parts or [("debian-binary",b"2.0\n"),("control.tar",b"control"),("data.tar",b"data")] + return b"!\n"+b"".join(ar_part(name,payload) for name,payload in parts) + + +def tar_fixture(rows): + stream=io.BytesIO() + with tarfile.open(fileobj=stream,mode="w",format=tarfile.USTAR_FORMAT) as archive: + for name,kind,body in rows: + info=tarfile.TarInfo(name);info.mode=0o644 + if kind=="file": + info.size=len(body);archive.addfile(info,io.BytesIO(body)) + elif kind=="symlink": + info.type=tarfile.SYMTYPE;info.linkname=body;archive.addfile(info) + else:raise AssertionError("fixture kind") + return stream.getvalue() + + +class AssociationControls(unittest.TestCase): + def test_same_build_rows_agree(self): + record=data.same_build_package(control(),control(),"plugin.deb","gcc-13","exact") + self.assertEqual((record["bytes"],record["sha256"]),(3,"a"*64)) + self.assertFalse(record["signature_verified"]) + + def test_same_version_different_package_row_refused(self): + with self.assertRaisesRegex(data.DataRefusal,"disagrees"): + data.same_build_package(control(),control("b"*64),"plugin.deb","gcc-13","exact") + + def test_duplicate_fields_case_insensitive_refused(self): + with self.assertRaisesRegex(data.DataRefusal,"duplicate control field"): + data.debian_control(control()+b"sOuRcE: duplicate\n") + + def test_duplicate_checksum_filenames_refused(self): + raw=control()+b" "+b"b"*64+b" 3 plugin.deb\n" + with self.assertRaisesRegex(data.DataRefusal,"duplicate checksum filename"): + data.sha256_rows(data.debian_control(raw)) + + def test_missing_exact_filename_refused(self): + with self.assertRaisesRegex(data.DataRefusal,"filename absent"): + data.same_build_package(control(),control(),"another.deb","gcc-13","exact") + + def test_control_paragraph_and_unsafe_row_refused(self): + for raw in (control()+b"\nSource: second\n", b" continuation\n",b"-----BEGIN PGP SIGNED MESSAGE-----\n"): + with self.subTest(raw=raw[:20]): + with self.assertRaises(data.DataRefusal):data.debian_control(raw) + with self.assertRaises(data.DataRefusal):data.sha256_rows(data.debian_control(control(filename="../bad"))) + + +class ArchiveControls(unittest.TestCase): + def test_ar_layout_metadata_and_payloads_preserved(self): + rows=data.strict_ar(ar_fixture()) + self.assertEqual([row["name"] for row in rows],["debian-binary","control.tar","data.tar"]) + self.assertEqual(rows[-1]["data"],b"data") + self.assertEqual(rows[-1]["mode"],0o100644) + + def test_duplicate_ar_and_truncation_refused(self): + original=[("debian-binary",b"2.0\n"),("control.tar",b"control"),("data.tar",b"data")] + with self.assertRaisesRegex(data.DataRefusal,"duplicate ar member"): + data.strict_ar(ar_fixture(original+[("data.tar",b"same")])) + with self.assertRaises(data.DataRefusal):data.strict_ar(ar_fixture()[:-1]) + changed=bytearray(ar_fixture());changed[8+40]=ord("9") + with self.assertRaisesRegex(data.DataRefusal,"numeric metadata"): + data.strict_ar(bytes(changed)) + + def test_normalized_duplicate_tar_path_refused(self): + archive=tar_fixture([("./one","file",b"x"),("one","file",b"y")]) + with self.assertRaisesRegex(data.DataRefusal,"duplicate tar member"): + data.strict_tar(archive) + + def test_tar_symlink_kind_and_alias_retained(self): + archive=tar_fixture([("ordinary","file",b"bytes"),("alias","symlink","../outside")]) + rows=data.strict_tar(archive) + self.assertEqual(rows[0]["data"],b"bytes") + self.assertEqual((rows[1]["kind"],rows[1]["linkname"]),("symlink","../outside")) + self.assertNotIn("data",rows[1]) + + def test_tar_traversal_and_hidden_tail_refused(self): + with self.assertRaisesRegex(data.DataRefusal,"unsafe"): + data.strict_tar(tar_fixture([("../bad","file",b"x")])) + archive=tar_fixture([("good","file",b"x")]) + with self.assertRaisesRegex(data.DataRefusal,"termination/padding"): + data.strict_tar(archive+b"hidden"+b"\0"*506) + + +class HeaderDataControls(unittest.TestCase): + def test_comments_and_splicing_control_file_operations(self): + source=(b'/* #include "fake.h" */\n' + b'#define TEXT "/* literal */"\n' + b'#inc\\\nlude "real.h" // trailing\n') + operations=generated.header_operations(source,"fixture.h") + self.assertEqual([row["include_name"] for row in operations if row["kind"]=="include"],["real.h"]) + self.assertEqual(operations[-1]["line"],3) + self.assertEqual(operations[0]["body"],'"/* literal */"') + + def test_formfeed_is_not_a_fabricated_directive_line(self): + operations=generated.header_operations(b'code\f#include "fake.h"\n#include "real.h"\n',"fixture.h") + self.assertEqual([row["include_name"] for row in operations if row["kind"]=="include"],["real.h"]) + + def test_tm_reordering_preserves_changed_macro_precedence(self): + leaves={"a.h":b"#define VALUE 1\n","b.h":b"#undef VALUE\n#define VALUE 2\n"} + def trace(source): + result=[] + for row in generated.header_operations(source,"tm.h"): + if row["kind"]=="include": + result.extend((event["kind"],event.get("body")) + for event in generated.header_operations(leaves[row["include_name"]],row["include_name"])) + return result + first=trace(b'#include "a.h"\n#include "b.h"\n') + second=trace(b'#include "b.h"\n#include "a.h"\n') + self.assertEqual(first,[("define","1"),("undef",None),("define","2")]) + self.assertEqual(second,[("undef",None),("define","2"),("define","1")]) + self.assertNotEqual(first[-1],second[-1]) + + def test_branches_stay_explicit_and_malformed_is_refused(self): + rows=generated.header_operations(b'#if FEATURE\n#define V 1\n#else\n#define V 2\n#endif\n',"fixture.h") + definitions=[row for row in rows if row["kind"]=="define"] + self.assertEqual([row["conditions"][-1]["branch"] for row in definitions],["initial","else"]) + for raw in (b"#else\n",b"#if X\n",b"/* unclosed",b'??=include "hidden.h"\n'): + with self.subTest(raw=raw): + with self.assertRaises(data.DataRefusal):generated.header_operations(raw,"fixture.h") + + def test_c_string_grammar_does_not_execute_or_guess(self): + self.assertEqual(generated.c_string_sequence(r'"a\\b" "\x63\141\n"'),"a\\bca\n") + for raw in ('function()',r'"\q"',r'"\777"','"unterminated'): + with self.subTest(raw=raw): + with self.assertRaises(data.DataRefusal):generated.c_string_sequence(raw) + + def test_header_vars_preserves_repeats_and_rejects_make(self): + self.assertEqual(generated.header_vars(b"TM_H=a.h b.h a.h\n")["TM_H"],["a.h","b.h","a.h"]) + for raw in (b"A=one\nA=two\n",b"A=$(shell false)\n"): + with self.assertRaises(data.DataRefusal):generated.header_vars(raw) + + +class ActualPublishedDataControls(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.unit=Path(__file__).resolve().parents[1];cls.frozen=cls.unit.parent + cls.headers=generated.load_headers(cls.unit/"source-artifacts/plugin-members") + cls.changes=(cls.frozen/"source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes").read_bytes() + cls.buildinfo=(cls.frozen/"source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo").read_bytes() + cls.embedded=(cls.frozen/"evidence/EMBEDDED-CONFIGURATION-v1.json").read_bytes() + cls.view=generated.construct_generated_config_view(cls.headers,cls.changes,cls.buildinfo,cls.embedded) + + def test_generated_change_rejected_despite_identical_configure_text(self): + headers=dict(self.headers) + headers["distro-defaults.h"]=headers["distro-defaults.h"].replace(b"DIST_DEFAULT_FORTIFY_SOURCE 3",b"DIST_DEFAULT_FORTIFY_SOURCE 4") + self.assertEqual(headers["configargs.h"],self.headers["configargs.h"]) + with self.assertRaisesRegex(data.DataRefusal,"header identity"): + generated.construct_generated_config_view(headers,self.changes,self.buildinfo,self.embedded) + + def test_same_version_another_record_body_rejected(self): + changed=self.buildinfo.replace(b"Build-Date:",b"Other-Date:",1) + self.assertNotEqual(changed,self.buildinfo) + self.assertEqual(data.debian_control(changed)["version"],data.debian_control(self.buildinfo)["version"]) + with self.assertRaisesRegex(data.DataRefusal,"pinned retained build"): + generated.construct_generated_config_view(self.headers,self.changes,changed,self.embedded) + + def test_actual_archive_reparse_uses_strict_boundaries(self): + package=(self.unit/"source-artifacts"/generated.PACKAGE).read_bytes() + self.assertEqual(data.digest(package),generated.PACKAGE_SHA256) + rows=data.strict_ar(package) + self.assertEqual([row["name"] for row in rows],["debian-binary","control.tar.zst","data.tar.zst"]) + + def test_configargs_corroborates_driver_and_retains_ordered_defaults(self): + self.assertTrue(self.view["configure_text_matches_pinned_driver"]) + pairs=self.view["configuration_arguments"]["configure_default_options"] + self.assertEqual([row["name"] for row in pairs],["abi","cpu","arch_32","arch_64","tune"]) + self.assertEqual(pairs[0]["value"],"m64") + + def test_published_tm_order_and_conditions(self): + rows=self.view["ordered_tm_header_operations"] + names=[row["include_name"] for row in rows] + self.assertLess(names.index("config/i386/biarch64.h"),names.index("config/i386/i386.h")) + self.assertLess(names.index("config/gnu-user.h"),names.index("config/i386/gnu-user64.h")) + self.assertEqual(names[-1],"defaults.h") + self.assertTrue(next(row for row in rows if row["include_name"]=="insn-flags.h")["conditions"]) + + def test_actual_distro_defines_and_declarations_do_not_mint_initialisers(self): + values={row["name"]:row["body"] for row in self.view["observed_distro_macro_operations"]} + self.assertEqual(values["DIST_DEFAULT_FORTIFY_SOURCE"],"3") + self.assertEqual(values["DIST_DEFAULT_SSP_STRONG"],"1") + self.assertTrue(all(row["conditions"][0]["opening"]=="ACCEL_COMPILER" + for row in self.view["observed_distro_macro_operations"])) + self.assertIn("option initialisation",[row["cell"] for row in self.view["residual_configuration_cells"]]) + + def test_missing_driver_defines_are_empty_observations_not_guessed_values(self): + for name in ("STANDARD_EXEC_PREFIX","STANDARD_LIBEXEC_PREFIX","GCC_INCLUDE_DIR"): + self.assertEqual(self.view["observed_host_macro_cells"][name],[]) + self.assertTrue(any("DRIVER_DEFINES" in row["cell"] for row in self.view["residual_configuration_cells"])) + + def test_earlier_stage_cannot_satisfy_missing_final_stage_cell(self): + # No API accepts a caller's stage1 command as final-stage proof. The + # actual503 gap remains explicit even though package metadata exists. + cells=self.view["residual_configuration_cells"] + self.assertTrue(all(row["status"]=="UNAVAILABLE_BUILDLOG_HTTP503" + for row in cells if row["cell"].startswith("final-installed"))) + with self.assertRaisesRegex(data.DataRefusal,"effective GCC configuration remains unproved"): + generated.require_effective_configuration(self.headers,self.changes,self.buildinfo,self.embedded) + self.assertFalse(self.view["effective_configuration"]) + self.assertFalse(self.view["full_C05"]) + self.assertFalse(self.view["full_V03"]) + + +if __name__=="__main__":unittest.main(verbosity=2) diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/repair_metadata_v2.py b/research/h25-gcc-generated-config-data/unit03/gcc/repair_metadata_v2.py new file mode 100644 index 0000000000..68902b26a9 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/repair_metadata_v2.py @@ -0,0 +1,78 @@ +"""Rebuild ar metadata from retained authenticated bytes; never decode again.""" +import json +from datetime import datetime,timezone +from pathlib import Path +import configured_data_v1 as parse +import generated_config_v1 as generated + +UNIT=Path(__file__).resolve().parents[1] +OUT=UNIT/"source-artifacts" +OLD_PAYLOAD_SHA="67e2d71f4affb83e458f226786e93361ec2cae3a3d19f9dd894d51d341ce61f7" +OLD_AR_SHA="1ea9badd67a4e768106c515d1cae504845df9d75bfd4b38a83c44bf282bbcfe3" + + +def write_new(path,value): + if path.exists():raise parse.DataRefusal("refuse metadata repair overwrite") + path.write_text(json.dumps(value,indent=2,sort_keys=True)+"\n") + + +def main(): + raw=(OUT/generated.PACKAGE).read_bytes() + if len(raw)!=1451870 or parse.digest(raw)!=generated.PACKAGE_SHA256: + raise parse.DataRefusal("retained package identity changed") + old_raw=(OUT/"PLUGIN-PAYLOAD-v1.json").read_bytes() + old_ar_raw=(OUT/"PLUGIN-AR-MEMBERS-v1.json").read_bytes() + if parse.digest(old_raw)!=OLD_PAYLOAD_SHA or parse.digest(old_ar_raw)!=OLD_AR_SHA: + raise parse.DataRefusal("rejected report identity changed") + old=json.loads(old_raw);old_ar=json.loads(old_ar_raw) + old_identities={row["name"]:(row["bytes"],row["sha256"]) for row in old_ar} + new=parse.strict_ar(raw) + if [(row["offset"],row["data_offset"]) for row in new] != [(8,68),(72,132),(12374,12434)]: + raise parse.DataRefusal("independently fixed actual package offsets differ") + checked=[] + for row in new: + header=raw[row["offset"]:row["offset"]+60] + body=raw[row["data_offset"]:row["data_offset"]+row["bytes"]] + if header.hex()!=row["raw_header"] or header[58:]!=b"`\n": + raise parse.DataRefusal("corrected header slice differs") + identity=(len(body),parse.digest(body)) + if identity!=old_identities[row["name"]] or body!=row["data"]: + raise parse.DataRefusal("corrected compressed slice identity differs") + checked.append({"name":row["name"],"bytes":len(body),"sha256":parse.digest(body), + "offset":row["offset"],"data_offset":row["data_offset"], + "matches_preserved_v1_member_identity":True}) + for member in old["extracted_regular_members"]: + path=Path(member["saved_path"]) + if path.is_symlink():raise parse.DataRefusal("retained regular header became alias") + body=path.read_bytes() + if len(body)!=member["bytes"] or parse.digest(body)!=member["sha256"]: + raise parse.DataRefusal("retained member bytes changed") + inventory=[{key:value for key,value in row.items() if key!="data"} for row in new] + write_new(OUT/"PLUGIN-AR-MEMBERS-v2.json",inventory) + repaired=dict(old) + repaired["schema"]="unit03-plugin-payload-v2" + repaired["metadata_repair"]={ + "observed_utc":datetime.now(timezone.utc).isoformat(), + "rejected_v1_payload_report_sha256":OLD_PAYLOAD_SHA,"preserved_v1_ar_report_sha256":OLD_AR_SHA, + "corrected_ar_inventory":inventory,"independent_compressed_slice_checks":checked, + "package_sha256_unchanged":True,"regular_retained_member_hashes_rechecked":len(old["extracted_regular_members"]), + "tar_inventory_disposition":"Carried forward unchanged from immutable v1 payload report and its decoder evidence; not decoded again and not a fresh decoding milestone", + "fresh_tar_decoding":False, + "rejected_code_defect":"strict_ar numeric-field loop shadowed header start; corrected with separate header_start and field_start/field_end", + "generated_binding_defect":"caller supplied matching text could receive pinned-driver label; exact embedded and compiler-binding reports now independently pinned and label narrowed"} + write_new(OUT/"PLUGIN-PAYLOAD-v2.json",repaired) + frozen=UNIT.parent + headers=generated.load_headers(OUT/"plugin-members") + view=generated.construct_generated_config_view(headers, + (frozen/"source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes").read_bytes(), + (frozen/"source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo").read_bytes(), + (frozen/"evidence/EMBEDDED-CONFIGURATION-v1.json").read_bytes(), + (frozen/"source-artifacts/BINARY-PACKAGE-CORRESPONDENCE-v1.json").read_bytes()) + write_new(UNIT/"gcc/GENERATED-CONFIGURATION-VIEW-v2.json",view) + for name in ("PLUGIN-AR-MEMBERS-v2.json","PLUGIN-PAYLOAD-v2.json"): + path=OUT/name;print(name,len(path.read_bytes()),parse.digest(path.read_bytes())) + path=UNIT/"gcc/GENERATED-CONFIGURATION-VIEW-v2.json" + print(path.name,len(path.read_bytes()),parse.digest(path.read_bytes())) + + +if __name__=="__main__":main() diff --git a/research/h25-gcc-generated-config-data/unit03/gcc/test_configured_data_v1.py b/research/h25-gcc-generated-config-data/unit03/gcc/test_configured_data_v1.py new file mode 100644 index 0000000000..33dfb6efe6 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/gcc/test_configured_data_v1.py @@ -0,0 +1,264 @@ +"""New pure finite controls only; no compiler/diagnostics/original imports.""" +import io +import json +import tarfile +import unittest +from pathlib import Path +import configured_data_v1 as data +import generated_config_v1 as generated + + +def control(checksum="a"*64,size=3,filename="plugin.deb"): + return ("Format: 1.0\nSource: gcc-13\nVersion: exact\nArchitecture: amd64\n" + "Checksums-Sha256:\n "+checksum+" "+str(size)+" "+filename+"\n").encode() + + +def ar_part(name,payload): + # Independent fixture writer: no ar/dpkg/package process is invoked. + header=(name+"/").ljust(16)+"0".ljust(12)+"0".ljust(6)+"0".ljust(6)+"100644".ljust(8)+str(len(payload)).ljust(10)+"`\n" + return header.encode()+payload+(b"\n" if len(payload)%2 else b"") + + +def ar_fixture(parts=None): + parts=parts or [("debian-binary",b"2.0\n"),("control.tar",b"control"),("data.tar",b"data")] + return b"!\n"+b"".join(ar_part(name,payload) for name,payload in parts) + + +def tar_fixture(rows): + stream=io.BytesIO() + with tarfile.open(fileobj=stream,mode="w",format=tarfile.USTAR_FORMAT) as archive: + for name,kind,body in rows: + info=tarfile.TarInfo(name);info.mode=0o644 + if kind=="file": + info.size=len(body);archive.addfile(info,io.BytesIO(body)) + elif kind=="symlink": + info.type=tarfile.SYMTYPE;info.linkname=body;archive.addfile(info) + else:raise AssertionError("fixture kind") + return stream.getvalue() + + +class AssociationControls(unittest.TestCase): + def test_same_build_rows_agree(self): + record=data.same_build_package(control(),control(),"plugin.deb","gcc-13","exact") + self.assertEqual((record["bytes"],record["sha256"]),(3,"a"*64)) + self.assertFalse(record["signature_verified"]) + + def test_same_version_different_package_row_refused(self): + with self.assertRaisesRegex(data.DataRefusal,"disagrees"): + data.same_build_package(control(),control("b"*64),"plugin.deb","gcc-13","exact") + + def test_duplicate_fields_case_insensitive_refused(self): + with self.assertRaisesRegex(data.DataRefusal,"duplicate control field"): + data.debian_control(control()+b"sOuRcE: duplicate\n") + + def test_duplicate_checksum_filenames_refused(self): + raw=control()+b" "+b"b"*64+b" 3 plugin.deb\n" + with self.assertRaisesRegex(data.DataRefusal,"duplicate checksum filename"): + data.sha256_rows(data.debian_control(raw)) + + def test_missing_exact_filename_refused(self): + with self.assertRaisesRegex(data.DataRefusal,"filename absent"): + data.same_build_package(control(),control(),"another.deb","gcc-13","exact") + + def test_control_paragraph_and_unsafe_row_refused(self): + for raw in (control()+b"\nSource: second\n", b" continuation\n",b"-----BEGIN PGP SIGNED MESSAGE-----\n"): + with self.subTest(raw=raw[:20]): + with self.assertRaises(data.DataRefusal):data.debian_control(raw) + with self.assertRaises(data.DataRefusal):data.sha256_rows(data.debian_control(control(filename="../bad"))) + + +class ArchiveControls(unittest.TestCase): + def test_ar_layout_metadata_and_payloads_preserved(self): + rows=data.strict_ar(ar_fixture()) + self.assertEqual([row["name"] for row in rows],["debian-binary","control.tar","data.tar"]) + self.assertEqual(rows[-1]["data"],b"data") + self.assertEqual(rows[-1]["mode"],0o100644) + + def test_multi_member_offsets_with_independent_odd_padding_vector(self): + # Independently tabulated byte positions, including each odd-size pad. + archive=ar_fixture([("debian-binary",b"2.0\n"),("control.tar",b"abc"),("data.tar",b"def")]) + rows=data.strict_ar(archive) + self.assertEqual([(row["offset"],row["data_offset"]) for row in rows], + [(8,68),(72,132),(136,196)]) + for row in rows: + self.assertEqual(archive[row["offset"]+58:row["offset"]+60],b"`\n") + self.assertEqual(archive[row["data_offset"]:row["data_offset"]+row["bytes"]],row["data"]) + + def test_duplicate_ar_and_truncation_refused(self): + original=[("debian-binary",b"2.0\n"),("control.tar",b"control"),("data.tar",b"data")] + with self.assertRaisesRegex(data.DataRefusal,"duplicate ar member"): + data.strict_ar(ar_fixture(original+[("data.tar",b"same")])) + with self.assertRaises(data.DataRefusal):data.strict_ar(ar_fixture()[:-1]) + changed=bytearray(ar_fixture());changed[8+40]=ord("9") + with self.assertRaisesRegex(data.DataRefusal,"numeric metadata"): + data.strict_ar(bytes(changed)) + + def test_normalized_duplicate_tar_path_refused(self): + archive=tar_fixture([("./one","file",b"x"),("one","file",b"y")]) + with self.assertRaisesRegex(data.DataRefusal,"duplicate tar member"): + data.strict_tar(archive) + + def test_tar_symlink_kind_and_alias_retained(self): + archive=tar_fixture([("ordinary","file",b"bytes"),("alias","symlink","../outside")]) + rows=data.strict_tar(archive) + self.assertEqual(rows[0]["data"],b"bytes") + self.assertEqual((rows[1]["kind"],rows[1]["linkname"]),("symlink","../outside")) + self.assertNotIn("data",rows[1]) + + def test_tar_traversal_and_hidden_tail_refused(self): + with self.assertRaisesRegex(data.DataRefusal,"unsafe"): + data.strict_tar(tar_fixture([("../bad","file",b"x")])) + archive=tar_fixture([("good","file",b"x")]) + with self.assertRaisesRegex(data.DataRefusal,"termination/padding"): + data.strict_tar(archive+b"hidden"+b"\0"*506) + + +class HeaderDataControls(unittest.TestCase): + def test_comments_and_splicing_control_file_operations(self): + source=(b'/* #include "fake.h" */\n' + b'#define TEXT "/* literal */"\n' + b'#inc\\\nlude "real.h" // trailing\n') + operations=generated.header_operations(source,"fixture.h") + self.assertEqual([row["include_name"] for row in operations if row["kind"]=="include"],["real.h"]) + self.assertEqual(operations[-1]["line"],3) + self.assertEqual(operations[0]["body"],'"/* literal */"') + + def test_formfeed_is_not_a_fabricated_directive_line(self): + operations=generated.header_operations(b'code\f#include "fake.h"\n#include "real.h"\n',"fixture.h") + self.assertEqual([row["include_name"] for row in operations if row["kind"]=="include"],["real.h"]) + + def test_tm_reordering_preserves_changed_macro_precedence(self): + leaves={"a.h":b"#define VALUE 1\n","b.h":b"#undef VALUE\n#define VALUE 2\n"} + def trace(source): + result=[] + for row in generated.header_operations(source,"tm.h"): + if row["kind"]=="include": + result.extend((event["kind"],event.get("body")) + for event in generated.header_operations(leaves[row["include_name"]],row["include_name"])) + return result + first=trace(b'#include "a.h"\n#include "b.h"\n') + second=trace(b'#include "b.h"\n#include "a.h"\n') + self.assertEqual(first,[("define","1"),("undef",None),("define","2")]) + self.assertEqual(second,[("undef",None),("define","2"),("define","1")]) + self.assertNotEqual(first[-1],second[-1]) + + def test_branches_stay_explicit_and_malformed_is_refused(self): + rows=generated.header_operations(b'#if FEATURE\n#define V 1\n#else\n#define V 2\n#endif\n',"fixture.h") + definitions=[row for row in rows if row["kind"]=="define"] + self.assertEqual([row["conditions"][-1]["branch"] for row in definitions],["initial","else"]) + for raw in (b"#else\n",b"#if X\n",b"/* unclosed",b'??=include "hidden.h"\n'): + with self.subTest(raw=raw): + with self.assertRaises(data.DataRefusal):generated.header_operations(raw,"fixture.h") + + def test_c_string_grammar_does_not_execute_or_guess(self): + self.assertEqual(generated.c_string_sequence(r'"a\\b" "\x63\141\n"'),"a\\bca\n") + for raw in ('function()',r'"\q"',r'"\777"','"unterminated'): + with self.subTest(raw=raw): + with self.assertRaises(data.DataRefusal):generated.c_string_sequence(raw) + + def test_header_vars_preserves_repeats_and_rejects_make(self): + self.assertEqual(generated.header_vars(b"TM_H=a.h b.h a.h\n")["TM_H"],["a.h","b.h","a.h"]) + for raw in (b"A=one\nA=two\n",b"A=$(shell false)\n"): + with self.assertRaises(data.DataRefusal):generated.header_vars(raw) + + +class ActualPublishedDataControls(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.unit=Path(__file__).resolve().parents[1];cls.frozen=cls.unit.parent + cls.headers=generated.load_headers(cls.unit/"source-artifacts/plugin-members") + cls.changes=(cls.frozen/"source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.changes").read_bytes() + cls.buildinfo=(cls.frozen/"source-artifacts/gcc-13_13.3.0-6ubuntu2~24.04.1_amd64.buildinfo").read_bytes() + cls.embedded=(cls.frozen/"evidence/EMBEDDED-CONFIGURATION-v1.json").read_bytes() + cls.binding=(cls.frozen/"source-artifacts/BINARY-PACKAGE-CORRESPONDENCE-v1.json").read_bytes() + cls.view=generated.construct_generated_config_view(cls.headers,cls.changes,cls.buildinfo,cls.embedded,cls.binding) + + def test_generated_change_rejected_despite_identical_configure_text(self): + headers=dict(self.headers) + headers["distro-defaults.h"]=headers["distro-defaults.h"].replace(b"DIST_DEFAULT_FORTIFY_SOURCE 3",b"DIST_DEFAULT_FORTIFY_SOURCE 4") + self.assertEqual(headers["configargs.h"],self.headers["configargs.h"]) + with self.assertRaisesRegex(data.DataRefusal,"header identity"): + generated.construct_generated_config_view(headers,self.changes,self.buildinfo,self.embedded,self.binding) + + def test_same_version_another_record_body_rejected(self): + changed=self.buildinfo.replace(b"Build-Date:",b"Other-Date:",1) + self.assertNotEqual(changed,self.buildinfo) + self.assertEqual(data.debian_control(changed)["version"],data.debian_control(self.buildinfo)["version"]) + with self.assertRaisesRegex(data.DataRefusal,"pinned retained build"): + generated.construct_generated_config_view(self.headers,self.changes,changed,self.embedded,self.binding) + + def test_actual_archive_reparse_uses_strict_boundaries(self): + package=(self.unit/"source-artifacts"/generated.PACKAGE).read_bytes() + self.assertEqual(data.digest(package),generated.PACKAGE_SHA256) + rows=data.strict_ar(package) + self.assertEqual([row["name"] for row in rows],["debian-binary","control.tar.zst","data.tar.zst"]) + self.assertEqual([(row["offset"],row["data_offset"]) for row in rows], + [(8,68),(72,132),(12374,12434)]) + for row in rows: + body=package[row["data_offset"]:row["data_offset"]+row["bytes"]] + self.assertEqual(data.digest(body),row["sha256"]) + + def test_configargs_corroborates_driver_and_retains_ordered_defaults(self): + self.assertTrue(self.view["configure_text_matches_pinned_embedded_report"]) + self.assertEqual(self.view["embedded_report_binding"]["report_sha256"],data.digest(self.embedded)) + self.assertFalse(self.view["embedded_report_binding"]["live_compiler_rehashed_in_this_unit"]) + self.assertEqual(self.view["retained_compiler_member_binding"]["member"]["bytes"],1023032) + pairs=self.view["configuration_arguments"]["configure_default_options"] + self.assertEqual([row["name"] for row in pairs],["abi","cpu","arch_32","arch_64","tune"]) + self.assertEqual(pairs[0]["value"],"m64") + + def test_forged_metadata_cannot_mint_pinned_report_equality(self): + text=generated.configargs(self.headers["configargs.h"])["configuration_arguments"] + forged=json.dumps({"path":"/different-unpinned-executable","sha256":"0"*64, + "matches":[text]}).encode() + with self.assertRaisesRegex(data.DataRefusal,"retained embedded report identity"): + generated.construct_generated_config_view(self.headers,self.changes,self.buildinfo,forged,self.binding) + + def test_missing_metadata_and_changed_report_bytes_refused(self): + text=generated.configargs(self.headers["configargs.h"])["configuration_arguments"] + for forged in (json.dumps({"matches":[text]}).encode(), self.embedded+b" "): + with self.subTest(length=len(forged)): + with self.assertRaisesRegex(data.DataRefusal,"retained embedded report identity"): + generated.construct_generated_config_view(self.headers,self.changes,self.buildinfo,forged,self.binding) + + def test_changed_compiler_size_binding_report_refused(self): + forged=self.binding.replace(b'"bytes": 1023032',b'"bytes": 8020928') + self.assertNotEqual(forged,self.binding) + with self.assertRaisesRegex(data.DataRefusal,"compiler package binding report"): + generated.construct_generated_config_view(self.headers,self.changes,self.buildinfo,self.embedded,forged) + + def test_published_tm_order_and_conditions(self): + rows=self.view["ordered_tm_header_operations"] + names=[row["include_name"] for row in rows] + self.assertLess(names.index("config/i386/biarch64.h"),names.index("config/i386/i386.h")) + self.assertLess(names.index("config/gnu-user.h"),names.index("config/i386/gnu-user64.h")) + self.assertEqual(names[-1],"defaults.h") + self.assertTrue(next(row for row in rows if row["include_name"]=="insn-flags.h")["conditions"]) + + def test_actual_distro_defines_and_declarations_do_not_mint_initialisers(self): + values={row["name"]:row["body"] for row in self.view["observed_distro_macro_operations"]} + self.assertEqual(values["DIST_DEFAULT_FORTIFY_SOURCE"],"3") + self.assertEqual(values["DIST_DEFAULT_SSP_STRONG"],"1") + self.assertTrue(all(row["conditions"][0]["opening"]=="ACCEL_COMPILER" + for row in self.view["observed_distro_macro_operations"])) + self.assertIn("option initialisation",[row["cell"] for row in self.view["residual_configuration_cells"]]) + + def test_missing_driver_defines_are_empty_observations_not_guessed_values(self): + for name in ("STANDARD_EXEC_PREFIX","STANDARD_LIBEXEC_PREFIX","GCC_INCLUDE_DIR"): + self.assertEqual(self.view["observed_host_macro_cells"][name],[]) + self.assertTrue(any("DRIVER_DEFINES" in row["cell"] for row in self.view["residual_configuration_cells"])) + + def test_earlier_stage_cannot_satisfy_missing_final_stage_cell(self): + # No API accepts a caller's stage1 command as final-stage proof. The + # actual503 gap remains explicit even though package metadata exists. + cells=self.view["residual_configuration_cells"] + self.assertTrue(all(row["status"]=="UNAVAILABLE_BUILDLOG_HTTP503" + for row in cells if row["cell"].startswith("final-installed"))) + with self.assertRaisesRegex(data.DataRefusal,"effective GCC configuration remains unproved"): + generated.require_effective_configuration(self.headers,self.changes,self.buildinfo,self.embedded,self.binding) + self.assertFalse(self.view["effective_configuration"]) + self.assertFalse(self.view["full_C05"]) + self.assertFalse(self.view["full_V03"]) + + +if __name__=="__main__":unittest.main(verbosity=2) diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/ACQUISITION-network-v2.json b/research/h25-gcc-generated-config-data/unit03/source-artifacts/ACQUISITION-network-v2.json new file mode 100644 index 0000000000..21fa57ee66 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/ACQUISITION-network-v2.json @@ -0,0 +1,35 @@ +[ + { + "attempts": 1, + "bytes": 1451870, + "elapsed_seconds": 2.3958247830014443, + "final_url": "https://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-13/gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "finished_utc": "2026-11-02T09:07:36.402777+00:00", + "http_status": 200, + "path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "response_headers": { + "Accept-Ranges": "bytes", + "Cache-Control": "max-age=86400", + "Connection": "close", + "Content-Length": "1451870", + "Content-Type": "application/vnd.debian.binary-package", + "Date": "Mon, 02 Nov 2026 09:07:34 GMT", + "ETag": "\"16275e-64aa62acf7542\"", + "Last-Modified": "Thu, 12 Feb 2026 20:16:43 GMT", + "Server": "Apache/2.4.52 (Ubuntu)" + }, + "sha256": "3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f", + "started_utc": "2026-11-02T09:07:34.006969+00:00", + "status": "downloaded-authenticated", + "url": "https://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-13/gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb" + }, + { + "attempts": 1, + "elapsed_seconds": 35.75292035599705, + "error": "HTTPError: HTTP Error 503: Service Unavailable", + "finished_utc": "2026-11-02T09:08:09.760624+00:00", + "started_utc": "2026-11-02T09:07:34.007736+00:00", + "status": "failed-retained", + "url": "https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/lp-2101084-again/+build/32148542/+files/buildlog_ubuntu-noble-amd64.gcc-13_13.3.0-6ubuntu2~24.04.1_BUILDING.txt.gz" + } +] diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/ACQUISITION-v1.json b/research/h25-gcc-generated-config-data/unit03/source-artifacts/ACQUISITION-v1.json new file mode 100644 index 0000000000..8a7a49b840 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/ACQUISITION-v1.json @@ -0,0 +1,20 @@ +[ + { + "attempts": 1, + "elapsed_seconds": 0.03781895900465315, + "error": "URLError: ", + "finished_utc": "2026-11-02T09:06:53.992451+00:00", + "started_utc": "2026-11-02T09:06:53.954644+00:00", + "status": "failed-retained", + "url": "https://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-13/gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb" + }, + { + "attempts": 1, + "elapsed_seconds": 0.03693513900361722, + "error": "URLError: ", + "finished_utc": "2026-11-02T09:06:53.992349+00:00", + "started_utc": "2026-11-02T09:06:53.955426+00:00", + "status": "failed-retained", + "url": "https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/lp-2101084-again/+build/32148542/+files/buildlog_ubuntu-noble-amd64.gcc-13_13.3.0-6ubuntu2~24.04.1_BUILDING.txt.gz" + } +] diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/EXTRACTION-ATTEMPT-v1.json b/research/h25-gcc-generated-config-data/unit03/source-artifacts/EXTRACTION-ATTEMPT-v1.json new file mode 100644 index 0000000000..88f1653247 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/EXTRACTION-ATTEMPT-v1.json @@ -0,0 +1,6 @@ +{ + "status": "refused-before-output-allocation", + "error": "zstd frame content size absent; initial decoder explicitly rejected unknown size", + "followup": "bounded fixed-block stream decoder with explicit window and aggregate limits, inside unchanged input deadline", + "source_execution": false +} diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/INPUT-GATE-v1.json b/research/h25-gcc-generated-config-data/unit03/source-artifacts/INPUT-GATE-v1.json new file mode 100644 index 0000000000..688ca0a265 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/INPUT-GATE-v1.json @@ -0,0 +1,207 @@ +{ + "buildlog": "HTTP503retained; no retry or final-stage definitions available", + "deadline_utc": "2026-11-02T09:18:24.476113+00:00", + "full_C05": false, + "full_V03": false, + "input_gate": "PASS_FOR_GENERATED_HEADER_UNIT_WITH_EXACT_BUILDLOG_RESIDUAL", + "license_provenance": [ + { + "bytes": 69100, + "member": "debian/copyright", + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/licenses/gcc-13-debian-copyright", + "sha256": "08c6f3dee4c19aa1e57eb7d4ad45829b2e99656313bd07fa0922e2553f500be5", + "source": "exact retained gcc Debian source archive" + }, + { + "bytes": 35149, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/licenses/GPL-3-standard-text", + "scope": "standard GPL-3 text referenced by retained source notices; not claimed re-extracted GCC archive member", + "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986", + "source": "/usr/share/common-licenses/GPL-3" + } + ], + "missing_required": [], + "missing_tm_direct_members": [], + "observed_utc": "2026-11-02T09:15:09.895132+00:00", + "original_execution": false, + "payload_manifest_sha256": "67e2d71f4affb83e458f226786e93361ec2cae3a3d19f9dd894d51d341ce61f7", + "plugin_exact_checksum_association": { + "association": "exact matching checksum rows in retained records", + "buildinfo_sha256": "6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83", + "bytes": 1451870, + "changes_sha256": "db40bf0222e18a133216deb061955adc3a54ef4ff6e1b4fe469ff8c404422b61", + "filename": "gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "sha256": "3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f", + "signature_verified": false + }, + "required_members": { + "auto-host.h": { + "bytes": 59854, + "data_offset": 1458688, + "gid": 0, + "header_offset": 1458176, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "sha256": "9ada1fb9d8c6f4d39e950fc3dfcefb81767c418d924a7e254774bda30e5a4537", + "typeflag": "30", + "uid": 0 + }, + "b-header-vars": { + "bytes": 40843, + "data_offset": 1521152, + "gid": 0, + "header_offset": 1520640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "sha256": "2af4b5b1ac67ee4075226fe87c19e0926c430c9e560034da071e6581902623a5", + "typeflag": "30", + "uid": 0 + }, + "config.h": { + "bytes": 217, + "data_offset": 2425856, + "gid": 0, + "header_offset": 2425344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "sha256": "41150681fe15436d17aa3a0b45b57345a65238fb945b14b0ca2bdf857e723e48", + "typeflag": "30", + "uid": 0 + }, + "configargs.h": { + "bytes": 1640, + "data_offset": 2426880, + "gid": 0, + "header_offset": 2426368, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "sha256": "987c0a46b31907a609c15c749988921053bdf81e77d3a695c981d7be7a9378fc", + "typeflag": "30", + "uid": 0 + }, + "defaults.h": { + "bytes": 42136, + "data_offset": 3017216, + "gid": 0, + "header_offset": 3016704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "sha256": "012ff1fece4d6d52b00647a49472045054094afa11637d7d5fdaced73ab95eae", + "typeflag": "30", + "uid": 0 + }, + "distro-defaults.h": { + "bytes": 488, + "data_offset": 3181568, + "gid": 0, + "header_offset": 3181056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "sha256": "2ccde3e3cbe4fc9fba8da310295f775d5bd77d9742090f74708f4ff24f683f6d", + "typeflag": "30", + "uid": 0 + }, + "options.h": { + "bytes": 504497, + "data_offset": 6825984, + "gid": 0, + "header_offset": 6825472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3", + "typeflag": "30", + "uid": 0 + }, + "tm.h": { + "bytes": 1184, + "data_offset": 8897536, + "gid": 0, + "header_offset": 8897024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "sha256": "d384ae33a23985613c839280f1b4845b3415c055e32209c6bc795a4d594f018f", + "typeflag": "30", + "uid": 0 + }, + "tm_p.h": { + "bytes": 178, + "data_offset": 8899584, + "gid": 0, + "header_offset": 8899072, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "sha256": "d8729f976710961c7d34afc545be1c22dfb654be3425ce379511c6f837979141", + "typeflag": "30", + "uid": 0 + } + }, + "schema": "unit03-inputgate-v1", + "tm_ordered_literal_includes": [ + "options.h", + "insn-constants.h", + "config/vxworks-dummy.h", + "config/i386/biarch64.h", + "config/i386/i386.h", + "config/i386/unix.h", + "config/i386/att.h", + "config/elfos.h", + "config/gnu-user.h", + "config/glibc-stdint.h", + "config/i386/x86-64.h", + "config/i386/gnu-user-common.h", + "config/i386/gnu-user64.h", + "config/linux.h", + "config/linux-android.h", + "config/i386/linux-common.h", + "config/i386/linux64.h", + "config/initfini-array.h", + "insn-flags.h", + "insn-modes.h", + "defaults.h" + ] +} diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/LICENSE-PROVENANCE-v1.json b/research/h25-gcc-generated-config-data/unit03/source-artifacts/LICENSE-PROVENANCE-v1.json new file mode 100644 index 0000000000..ead927166c --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/LICENSE-PROVENANCE-v1.json @@ -0,0 +1,19 @@ +{ + "bounded_copying3_source_attempt": "stopped at256MiB decoded stream ceiling before named member; no capraise, no further archive attempt", + "licenses": [ + { + "bytes": 69100, + "member": "debian/copyright", + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/licenses/gcc-13-debian-copyright", + "sha256": "08c6f3dee4c19aa1e57eb7d4ad45829b2e99656313bd07fa0922e2553f500be5", + "source": "exact retained gcc Debian source archive" + }, + { + "bytes": 35149, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/licenses/GPL-3-standard-text", + "scope": "standard GPL-3 text referenced by retained source notices; not claimed re-extracted GCC archive member", + "sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986", + "source": "/usr/share/common-licenses/GPL-3" + } + ] +} diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/LICENSE-PROVENANCE-v2.json b/research/h25-gcc-generated-config-data/unit03/source-artifacts/LICENSE-PROVENANCE-v2.json new file mode 100644 index 0000000000..47a85fef99 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/LICENSE-PROVENANCE-v2.json @@ -0,0 +1,14 @@ +[ + { + "bytes": 35147, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/licenses/GPL-3.0-gcc-source.txt", + "sha256": "8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903", + "source": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/publication-v2/research/h25-c05-v03-input-constructors/licenses/GPL-3.0-gcc-source.txt" + }, + { + "bytes": 3324, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/licenses/GCC-Runtime-Library-Exception.txt", + "sha256": "9d6b43ce4d8de0c878bf16b54d8e7a10d9bd42b75178153e3af6a815bdc90f74", + "source": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/publication-v2/research/h25-c05-v03-input-constructors/licenses/GCC-Runtime-Library-Exception.txt" + } +] diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-AR-MEMBERS-v1.json b/research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-AR-MEMBERS-v1.json new file mode 100644 index 0000000000..db84893804 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-AR-MEMBERS-v1.json @@ -0,0 +1,26 @@ +[ + { + "bytes": 4, + "data_offset": 68, + "name": "debian-binary", + "offset": 8, + "raw_header": "64656269616e2d62696e617279202020313736363039313539312020302020202020302020202020313030363434202034202020202020202020600a", + "sha256": "d526eb4e878a23ef26ae190031b4efd2d58ed66789ac049ea3dbaf74c9df7402" + }, + { + "bytes": 12242, + "data_offset": 132, + "name": "control.tar.zst", + "offset": 72, + "raw_header": "636f6e74726f6c2e7461722e7a737420313736363039313539312020302020202020302020202020313030363434202031323234322020202020600a", + "sha256": "df7c07a35b49e78d49838fcfd9e7731e25e1cb2b063ebc5118722fdb6d3b3fe4" + }, + { + "bytes": 1439435, + "data_offset": 12434, + "name": "data.tar.zst", + "offset": 12374, + "raw_header": "646174612e7461722e7a737420202020313736363039313539312020302020202020302020202020313030363434202031343339343335202020600a", + "sha256": "19fbe1ba54abe3737d8161327021c549585c263bcca51d446fd148c33080db3c" + } +] diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-AR-MEMBERS-v2.json b/research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-AR-MEMBERS-v2.json new file mode 100644 index 0000000000..cad25fd740 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-AR-MEMBERS-v2.json @@ -0,0 +1,38 @@ +[ + { + "bytes": 4, + "data_offset": 68, + "gid": 0, + "mode": 33188, + "name": "debian-binary", + "offset": 8, + "raw_header": "64656269616e2d62696e617279202020313736363039313539312020302020202020302020202020313030363434202034202020202020202020600a", + "sha256": "d526eb4e878a23ef26ae190031b4efd2d58ed66789ac049ea3dbaf74c9df7402", + "timestamp": 1766091591, + "uid": 0 + }, + { + "bytes": 12242, + "data_offset": 132, + "gid": 0, + "mode": 33188, + "name": "control.tar.zst", + "offset": 72, + "raw_header": "636f6e74726f6c2e7461722e7a737420313736363039313539312020302020202020302020202020313030363434202031323234322020202020600a", + "sha256": "df7c07a35b49e78d49838fcfd9e7731e25e1cb2b063ebc5118722fdb6d3b3fe4", + "timestamp": 1766091591, + "uid": 0 + }, + { + "bytes": 1439435, + "data_offset": 12434, + "gid": 0, + "mode": 33188, + "name": "data.tar.zst", + "offset": 12374, + "raw_header": "646174612e7461722e7a737420202020313736363039313539312020302020202020302020202020313030363434202031343339343335202020600a", + "sha256": "19fbe1ba54abe3737d8161327021c549585c263bcca51d446fd148c33080db3c", + "timestamp": 1766091591, + "uid": 0 + } +] diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-CHECKSUM-ASSOCIATION-v1.json b/research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-CHECKSUM-ASSOCIATION-v1.json new file mode 100644 index 0000000000..e2e0279b26 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-CHECKSUM-ASSOCIATION-v1.json @@ -0,0 +1,9 @@ +{ + "association": "exact matching checksum rows in retained records", + "buildinfo_sha256": "6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83", + "bytes": 1451870, + "changes_sha256": "db40bf0222e18a133216deb061955adc3a54ef4ff6e1b4fe469ff8c404422b61", + "filename": "gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "sha256": "3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f", + "signature_verified": false +} diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-PAYLOAD-v1.json b/research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-PAYLOAD-v1.json new file mode 100644 index 0000000000..e0c9850c20 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-PAYLOAD-v1.json @@ -0,0 +1,14872 @@ +{ + "alias_policy": "Kinds/linknames retained; no symlink/hardlink flattened or executed", + "archive_decoding": [ + { + "compressed_bytes": 12242, + "compressed_cap": 67108864, + "decompressed_bytes": 51200, + "decompressed_cap": 268435456, + "frame_compressed_bytes": 12242, + "frame_content_bytes_checked_before_allocation": 51200, + "library_bytes": 755864, + "library_realpath": "/usr/lib/x86_64-linux-gnu/libzstd.so.1.5.5", + "library_sha256": "0a2128bc10841fb29e76d08d945864dfb0b6a66da5df6df5d8299197439e54bb", + "library_spelling": "/lib/x86_64-linux-gnu/libzstd.so.1", + "member": "control.tar.zst", + "method": "system libzstd via stdlib ctypes, passive one-frame decompression", + "tar_sha256": "b5a91b48964ad8da663aa8616cc8edb194b738feeab8d72b16c9134975fb5e47", + "unknown_size_policy": "fixed 64KiB blocks, explicit decoder window ceiling, aggregate output cap" + }, + { + "compressed_bytes": 1439435, + "compressed_cap": 67108864, + "decompressed_bytes": 10291200, + "decompressed_cap": 268435456, + "frame_compressed_bytes": 1439435, + "frame_content_bytes_checked_before_allocation": null, + "library_bytes": 755864, + "library_realpath": "/usr/lib/x86_64-linux-gnu/libzstd.so.1.5.5", + "library_sha256": "0a2128bc10841fb29e76d08d945864dfb0b6a66da5df6df5d8299197439e54bb", + "library_spelling": "/lib/x86_64-linux-gnu/libzstd.so.1", + "member": "data.tar.zst", + "method": "system libzstd via stdlib ctypes, passive one-frame decompression", + "tar_sha256": "c69b8a340df7e78bcc1caa7d1d3f05604c6b19c200fb429d90f8e9e0410f482e", + "unknown_size_policy": "fixed 64KiB blocks, explicit decoder window ceiling, aggregate output cap" + } + ], + "extracted_regular_members": [ + { + "bytes": 684, + "data_offset": 1024, + "gid": 0, + "header_offset": 512, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "control", + "raw_path": "./control", + "retained_equal_existing_partial": true, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/control", + "sha256": "4bc09829ffea727e7f43f6b14150798e1e784a3dd2b48adef5b578b9aedfa1bd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 45223, + "data_offset": 2560, + "gid": 0, + "header_offset": 2048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "md5sums", + "raw_path": "./md5sums", + "retained_equal_existing_partial": true, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/md5sums", + "sha256": "3f23ce0979a27ac4a8d8e178468e1565055e44935f381ffe9bcb4c103e0a5f68", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4978, + "data_offset": 1376768, + "gid": 0, + "header_offset": 1376256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def", + "sha256": "023fa7450452b94ef3d2c508b2a378e59d8688f30699769ce0ed6d2bfeceac48", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2945, + "data_offset": 1382400, + "gid": 0, + "header_offset": 1381888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h", + "sha256": "f3d9edb2e4328d6c9619e835b87b5e3f6e14d4ede997bbb73d1bff083c80bc00", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2184, + "data_offset": 1385984, + "gid": 0, + "header_offset": 1385472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h", + "sha256": "c5b72a9516a7eca30a957d1f76cc7c8a932e0a28583b3098e99375a9b25f5c88", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2507, + "data_offset": 1389056, + "gid": 0, + "header_offset": 1388544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h", + "sha256": "4c9ae2bac830bd5024c670a17296f902aa9bba4584c30317f02eb5fbcb1526e7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 224, + "data_offset": 1392128, + "gid": 0, + "header_offset": 1391616, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def", + "sha256": "bcad5255616b42ac69bbb250184c8cce7e020d1330397fd22d78c8daea826a15", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15524, + "data_offset": 1393152, + "gid": 0, + "header_offset": 1392640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h", + "sha256": "536ca12849b965f7516424aff8e05cbbb54b802eb29c92f548af3217c3fcde32", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11777, + "data_offset": 1409536, + "gid": 0, + "header_offset": 1409024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h", + "sha256": "06716406a6cd33f5bf987864ce2ffe27a5977393bfb28b7ce87621a67e05f91d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1535, + "data_offset": 1422336, + "gid": 0, + "header_offset": 1421824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h", + "sha256": "af336c61ed00f1362de0043ceb92f06fe5f7360f2f4a11bfb5c8ba92702fd57e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8837, + "data_offset": 1424384, + "gid": 0, + "header_offset": 1423872, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h", + "sha256": "7c9f6f7fe091d89eb48ead7aaf5bc26a177a90c4e76739e1839c88cfbb70f023", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8716, + "data_offset": 1434112, + "gid": 0, + "header_offset": 1433600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h", + "sha256": "f45972c3926988376dacf76a0003996a5a7a1dd26397380774d9c810aae3eab7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13872, + "data_offset": 1443840, + "gid": 0, + "header_offset": 1443328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h", + "sha256": "ce4072bfd29536a4b8e91c985f19ae31a3b7650b4f0ce2f06c291551693b0d77", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 59854, + "data_offset": 1458688, + "gid": 0, + "header_offset": 1458176, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "sha256": "9ada1fb9d8c6f4d39e950fc3dfcefb81767c418d924a7e254774bda30e5a4537", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1143, + "data_offset": 1519104, + "gid": 0, + "header_offset": 1518592, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h", + "sha256": "8527a175c79dba1a8a8f77b128e6cd4adf210d6a13bf7f21324f2a75044bdcfa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 40843, + "data_offset": 1521152, + "gid": 0, + "header_offset": 1520640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "sha256": "2af4b5b1ac67ee4075226fe87c19e0926c430c9e560034da071e6581902623a5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1067, + "data_offset": 1562624, + "gid": 0, + "header_offset": 1562112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h", + "sha256": "a769348fbcf2cc4f62cb4104535b37328472ff6679e9d4ebd7525a91b1ac4f9f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18619, + "data_offset": 1564672, + "gid": 0, + "header_offset": 1564160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h", + "sha256": "f2619ee16c3a42f950b0b427af2956dcbf2a22fb7041fd43b529331fbd3ca4bf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1277, + "data_offset": 1584128, + "gid": 0, + "header_offset": 1583616, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h", + "sha256": "e7d3be61e74749602b32d77554f5d56de18f5ef167867b250e482e64406a8f17", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 37570, + "data_offset": 1586176, + "gid": 0, + "header_offset": 1585664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h", + "sha256": "fdd9be6d48e92ca2fcd053c56c3e746d120745f51fe1acbc1f4490ffb54156db", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20110, + "data_offset": 1624576, + "gid": 0, + "header_offset": 1624064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def", + "sha256": "fdc2318336bbbd9a51502898c6b46e625ead62fe907aad576f35f7569fd8b26a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 53342, + "data_offset": 1645568, + "gid": 0, + "header_offset": 1645056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def", + "sha256": "a7e984fe65c232e518c037d5bb4d16cf74e8f81738eed401492248b164196264", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 95755, + "data_offset": 1699840, + "gid": 0, + "header_offset": 1699328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def", + "sha256": "bbd89bafc02c73b4ec6b15b4322fc517fa8fe58ded45a747892b0e4f12d78d0b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7200, + "data_offset": 1796608, + "gid": 0, + "header_offset": 1796096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h", + "sha256": "15c5c27a7b2e9be79373d761604f12a4ed74d3504778d4a2469f0356807fca79", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 171, + "data_offset": 1804800, + "gid": 0, + "header_offset": 1804288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h", + "sha256": "8ad05936a160214baea3c8aadede4475fdf3ece6962f85e61e962fd6590b11ef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4172, + "data_offset": 1806336, + "gid": 0, + "header_offset": 1805824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def", + "sha256": "4385cc13d39e61053458f6d79ab7626c136c03b58976d613a33732351c295f18", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 59318, + "data_offset": 1811456, + "gid": 0, + "header_offset": 1810944, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h", + "sha256": "d5498885fbcd854b4c26f557501490d5e00b40c549270d10b7bc11a9320ed7f7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8033, + "data_offset": 1871360, + "gid": 0, + "header_offset": 1870848, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h", + "sha256": "460eb8b3721b06a7d87e4f19083d96ba7a78a56ab312b5a68d659ec42420195a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9549, + "data_offset": 1880064, + "gid": 0, + "header_offset": 1879552, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h", + "sha256": "14a75ae7cdb8b0e84b4269f0afb2f8dbf429e840ec42f609511602da8e8da98a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5324, + "data_offset": 1890304, + "gid": 0, + "header_offset": 1889792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h", + "sha256": "fc1bd1ad525e0ee3b6b481b8038aad31b98fe8dbebb1f3ffcea9e75987c45d82", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 35134, + "data_offset": 1896448, + "gid": 0, + "header_offset": 1895936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h", + "sha256": "bdd621639433a009ef8ab0204f78ba4020c9f6357b246234f6bf3939017cceaa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5291, + "data_offset": 1932288, + "gid": 0, + "header_offset": 1931776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h", + "sha256": "188f6dd04a978928c8ef21b6a6ec30b467d57da3e3b1c8d9828aa1023a32d830", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 845, + "data_offset": 1938432, + "gid": 0, + "header_offset": 1937920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h", + "sha256": "84864c1ceac3d4e5a8dcde662ce2ca9652fa687d7df61c1b1a73d68193b874ef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6828, + "data_offset": 1939968, + "gid": 0, + "header_offset": 1939456, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def", + "sha256": "f5566f1fab9f1589b2c7b9d96c9b73dcbc02523f686bc264d07c3d03a9efd8fb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6429, + "data_offset": 1947648, + "gid": 0, + "header_offset": 1947136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h", + "sha256": "2288eb67df53ccfcdff79d0a9d8fb690f06c2de84e5bd5c2c1b307f371c635b6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3473, + "data_offset": 1954816, + "gid": 0, + "header_offset": 1954304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h", + "sha256": "9d1626ebff3462fc9b4f8518ea47992e84dd112f63fe6e6b7fe31270ddcdecc5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1016, + "data_offset": 1958912, + "gid": 0, + "header_offset": 1958400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h", + "sha256": "75674de6ab66278b0b0991e2ba376482c273b2f7e8d025650a85e5285a2b598e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1303, + "data_offset": 1960448, + "gid": 0, + "header_offset": 1959936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h", + "sha256": "cb1dfd9de683927cbaae3e207f0aa98aeb07cab5147180017dd7a11cc9fc8a78", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 966, + "data_offset": 1962496, + "gid": 0, + "header_offset": 1961984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h", + "sha256": "d9b617983dc0a9ab8d4b648c63ff0b633b7e2f81768cde0dc36368f46c34e3a1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11428, + "data_offset": 1964032, + "gid": 0, + "header_offset": 1963520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h", + "sha256": "1fdd54693186cb5c8abf38667ac146e94bc69164049da65bd34275b7fcf85da0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27914, + "data_offset": 1976320, + "gid": 0, + "header_offset": 1975808, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h", + "sha256": "fe09467eea2c176f44e53a0d369d18ad6a489620dd18b426d1d3c40e6f095167", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2499, + "data_offset": 2004992, + "gid": 0, + "header_offset": 2004480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h", + "sha256": "d5287436e49903f67cfbb8137e0a028a5a541df43b0252023d37ae17a9491226", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2688, + "data_offset": 2008064, + "gid": 0, + "header_offset": 2007552, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h", + "sha256": "3ccab97cd645994aecb66045edb13b71017dbf012ee086b97cd6dcb22781be99", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 124842, + "data_offset": 2011648, + "gid": 0, + "header_offset": 2011136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h", + "sha256": "77b643cde2dc6c81e6e28d3265c05dd1ddb4c99d9b37841901a35edc08e8e612", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5632, + "data_offset": 2137088, + "gid": 0, + "header_offset": 2136576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def", + "sha256": "f27acb01a17cc0c62c01aa4982155115bfd69deeec1766e3c26cd630973d2405", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1694, + "data_offset": 2143232, + "gid": 0, + "header_offset": 2142720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h", + "sha256": "69db322f7d423f2e7bfcdf0ccae1c90c3853c69ac8c209c0e894d6784f0d19b7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8594, + "data_offset": 2145792, + "gid": 0, + "header_offset": 2145280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h", + "sha256": "7870fdbea37370be7ec92824a4fe4e7c24bfe62767b448801efccfa0f83df7bd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1308, + "data_offset": 2155008, + "gid": 0, + "header_offset": 2154496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h", + "sha256": "ffc4a02f68215b91971535d2569ddb46c65626f83aad16bb9d7cc5e31280e10d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4891, + "data_offset": 2157056, + "gid": 0, + "header_offset": 2156544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h", + "sha256": "baa85177f344454041d22b1147ed169ab68064beb0cd4a7adfc8fcbeefca7b3f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6023, + "data_offset": 2164224, + "gid": 0, + "header_offset": 2163712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h", + "sha256": "5bab14b3fb8ef807879c249b52041d158c3983e5c149f175cdc7aacb865f188a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2766, + "data_offset": 2170880, + "gid": 0, + "header_offset": 2170368, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h", + "sha256": "15954fefc8d00dd5d2a3ceaf17f957a78bcf08ca25681703fba345649bf4c97a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17996, + "data_offset": 2174976, + "gid": 0, + "header_offset": 2174464, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h", + "sha256": "255fe5da07efc03e66574ab45a1c92deb4ed7cc064f83677e1cae109065b8354", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2854, + "data_offset": 2193920, + "gid": 0, + "header_offset": 2193408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h", + "sha256": "45e61be0214122daed3ce73a9edec9709c8d1b191a424ed6efd6db4d5b31f032", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6054, + "data_offset": 2197504, + "gid": 0, + "header_offset": 2196992, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "sha256": "8f3518bc748dd1f7c1f19bcc2d59201405b5a599820256ff1ecdf9ea63392daf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3186, + "data_offset": 2204672, + "gid": 0, + "header_offset": 2204160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h", + "sha256": "48cc90a7598d0ab51a85b0cf3143f187610754da7c47ecd9ac463f2c9d5cec29", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1293, + "data_offset": 2208768, + "gid": 0, + "header_offset": 2208256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h", + "sha256": "a6fe8538bcc4db531f57ddb5b80d28e09b05c875e497f58542ff7fa4252cdfef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2629, + "data_offset": 2210816, + "gid": 0, + "header_offset": 2210304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h", + "sha256": "14a738ecc63fc02ceb153060c87722d3417ebf5564ca7889f2f27c742f20285c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3309, + "data_offset": 2214400, + "gid": 0, + "header_offset": 2213888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "sha256": "5507732a24911a39abbf7d2526fd8c1b09db98c0519b7388b7143a3c01bdbccb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2399, + "data_offset": 2218496, + "gid": 0, + "header_offset": 2217984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def", + "sha256": "d4d39a44bc16d20dc2c8a10ad4b70156a548e2d38a32fda01811a253d8f4952a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3322, + "data_offset": 2221568, + "gid": 0, + "header_offset": 2221056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h", + "sha256": "84ae505f2aeabbece530164dbefa82465b943331e490bb73ce40d088d9879ce9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17536, + "data_offset": 2225664, + "gid": 0, + "header_offset": 2225152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h", + "sha256": "d5a24ab0e669449ec51b483c5472cdf185ce5804c56d014103cee611eabc65df", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 113489, + "data_offset": 2244096, + "gid": 0, + "header_offset": 2243584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h", + "sha256": "55f2cea099e92f2bc0649599d708726fab531a10e9ee15456af35a4975599d21", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2346, + "data_offset": 2358272, + "gid": 0, + "header_offset": 2357760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h", + "sha256": "eb6e3de8ee383f691f2b83c0cdafe8f1687c06c703f0854623dc71569304622b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1669, + "data_offset": 2361344, + "gid": 0, + "header_offset": 2360832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "sha256": "9007684d92746203c280b53a69debfff75851e31c1cd9ce6cd5c61f705d5179c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1040, + "data_offset": 2363904, + "gid": 0, + "header_offset": 2363392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def", + "sha256": "ca5f3b59774dade073e1fc95a86c933634b8407437f250a7882fa762967f158d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2878, + "data_offset": 2365952, + "gid": 0, + "header_offset": 2365440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h", + "sha256": "f6896474c5b3fbc38927276acb79abc519e71b98bba82a614cd05052c24cee28", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2982, + "data_offset": 2369536, + "gid": 0, + "header_offset": 2369024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h", + "sha256": "fecefad6255ddd8d60d9f3b546024a93db37dce7ccf277668de35336ce837471", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 33406, + "data_offset": 2373120, + "gid": 0, + "header_offset": 2372608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def", + "sha256": "864bcae5ff7ba9991e056b5b8dbbe257b2169ac2996bfcd65aab3e80054f9bf3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1625, + "data_offset": 2407424, + "gid": 0, + "header_offset": 2406912, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h", + "sha256": "3b824fa8ab2a86c5b8e5a72b4c868e569780d5e867d80755538e483cdf04b4ab", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1947, + "data_offset": 2409984, + "gid": 0, + "header_offset": 2409472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h", + "sha256": "875e34fffe6e6bf06cecb83c1edfc221c6bb61a096ef38c60abe63914c72d297", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 811, + "data_offset": 2412544, + "gid": 0, + "header_offset": 2412032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h", + "sha256": "4240c4b506975f484248da9a3c668aacd837dba532be7d6d174f40405c9561af", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8504, + "data_offset": 2414080, + "gid": 0, + "header_offset": 2413568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "sha256": "ce71be1f80fac59483042c6dd421bd267765c44f977505955b2718e30da612c4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1611, + "data_offset": 2423296, + "gid": 0, + "header_offset": 2422784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h", + "sha256": "f86e24a101cf141fab63458b812e0aed5bde16850a24d1045f6cebbc2977f3cc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 217, + "data_offset": 2425856, + "gid": 0, + "header_offset": 2425344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "sha256": "41150681fe15436d17aa3a0b45b57345a65238fb945b14b0ca2bdf857e723e48", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1640, + "data_offset": 2426880, + "gid": 0, + "header_offset": 2426368, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "sha256": "987c0a46b31907a609c15c749988921053bdf81e77d3a695c981d7be7a9378fc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1732, + "data_offset": 2429440, + "gid": 0, + "header_offset": 2428928, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h", + "sha256": "aafa561687a1cc40f753d8085f357a82db14b291f195e98f7409606439004c94", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1848, + "data_offset": 2432000, + "gid": 0, + "header_offset": 2431488, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h", + "sha256": "b37b99a1b2bb94e6267ac860b76683eea2ce19e53b51ec0899ac5b1c5b97b2c2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15197, + "data_offset": 2434560, + "gid": 0, + "header_offset": 2434048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h", + "sha256": "169d3b325ba9957aa6dc3953bb26dfed3bed2618950585f1891d4ab9375def21", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1927, + "data_offset": 2450432, + "gid": 0, + "header_offset": 2449920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def", + "sha256": "9b7e57e064c7740d204e9bc19eda510646e3a0801978770e8eef3bf124e662a9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2308, + "data_offset": 2452992, + "gid": 0, + "header_offset": 2452480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h", + "sha256": "5e566a797e02c4abd09b0102310950625e8d325264a17fdbb0817448ca99bbf1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9714, + "data_offset": 2456576, + "gid": 0, + "header_offset": 2456064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h", + "sha256": "35d2eb58bf53d383c73d7c362148c2ff354fb2691ac0a86e65562757bf6ffdeb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4936, + "data_offset": 2466816, + "gid": 0, + "header_offset": 2466304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def", + "sha256": "c2ed08f00e4a126eb18bb8668fa966d8d66ebfdc57f65dcc4a66b607f0b3c252", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27148, + "data_offset": 2472448, + "gid": 0, + "header_offset": 2471936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def", + "sha256": "a3d582ccb91cae886555cfe3541283787a2659c1b310d5a4fed427cd54120563", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 350792, + "data_offset": 2500608, + "gid": 0, + "header_offset": 2500096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h", + "sha256": "78c10c94738de11dae4cba0de0e6c81b3f8f4431ca9b2b916d5812663af1020c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4883, + "data_offset": 2852352, + "gid": 0, + "header_offset": 2851840, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h", + "sha256": "533988176d9313b5e081e45c52f0ef1a86e9d518548fdf1f2ae56f2ff71b1a2f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18488, + "data_offset": 2857984, + "gid": 0, + "header_offset": 2857472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h", + "sha256": "3c012c6827b6efa1c9477ecb59b3147036888f0e0183614ef3a7847bad5c89b4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6848, + "data_offset": 2877440, + "gid": 0, + "header_offset": 2876928, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def", + "sha256": "5b3199c6d97f307cb6bbb296e30f7518900548c12d1c8f45699e4e54bd40d2a1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1877, + "data_offset": 2885120, + "gid": 0, + "header_offset": 2884608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h", + "sha256": "3d0f20f1400cbef0786ee4871e656a20a4ab80315641b11e4efddaa79c016888", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1174, + "data_offset": 2887680, + "gid": 0, + "header_offset": 2887168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h", + "sha256": "172a64e3f9a2dc4d2b05bcb3e16716336160ebd801cc17bbde02c81232a9407f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2987, + "data_offset": 2889728, + "gid": 0, + "header_offset": 2889216, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h", + "sha256": "d105e4f83c7403684db87493b30f52304d6a7c4a3ada1f56d3d2fa1d565e007c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 57534, + "data_offset": 2893312, + "gid": 0, + "header_offset": 2892800, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h", + "sha256": "2b9fc43ca45c7d844989c3a04dc311885a3b3537d25166d293a0ec092461bdc0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4592, + "data_offset": 2951680, + "gid": 0, + "header_offset": 2951168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h", + "sha256": "3e3f877bf198338a5bec51c76e87351f246abb69088e7531fef51db2c80e7c84", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15687, + "data_offset": 2956800, + "gid": 0, + "header_offset": 2956288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h", + "sha256": "96197421f357e1e3b007a1757b6f77bb3d76800f453527fb62f547523669d3bc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1386, + "data_offset": 2973696, + "gid": 0, + "header_offset": 2973184, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def", + "sha256": "a07d2e1d5354fef980d33ad14614b445cb1246e3b3222d8dc27eb443f502d484", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10999, + "data_offset": 2975744, + "gid": 0, + "header_offset": 2975232, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h", + "sha256": "e5b02a3dfb361820a5b24fc1710b38666626cc13fb78311332d1ae601a13a873", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6668, + "data_offset": 2987520, + "gid": 0, + "header_offset": 2987008, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def", + "sha256": "68d2ba3391fbcd277d748eecd075b18f8610539a7c4600ac49dbd46b18a17cfc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1229, + "data_offset": 2995200, + "gid": 0, + "header_offset": 2994688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h", + "sha256": "e5f9da2c42dfc0ce09a321a7fb324a63b0ff6c789d761191be58c1c8af7b8e05", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 877, + "data_offset": 2997248, + "gid": 0, + "header_offset": 2996736, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h", + "sha256": "0d029fe1379ceed3849f271390cc12c98359a16631da462f8ba5f12c9131bec8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5459, + "data_offset": 2998784, + "gid": 0, + "header_offset": 2998272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h", + "sha256": "2b647e04c726df5ed328fde718ce5b996366831578c0d1591bf38620be092a06", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11479, + "data_offset": 3004928, + "gid": 0, + "header_offset": 3004416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h", + "sha256": "d3ce98401f5216d6ff167a2701ac6547ef332e1a98eb933778526dd866b6aced", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 42136, + "data_offset": 3017216, + "gid": 0, + "header_offset": 3016704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "sha256": "012ff1fece4d6d52b00647a49472045054094afa11637d7d5fdaced73ab95eae", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 48230, + "data_offset": 3060224, + "gid": 0, + "header_offset": 3059712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h", + "sha256": "ce939e0a7ae288d5d5ed39993f69eca3b2696f8fd9d3d7ba1c8382a6a98fb14f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2361, + "data_offset": 3109376, + "gid": 0, + "header_offset": 3108864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h", + "sha256": "6550085e484d044a7f674ada222696b618520b3028cf2d5916a2e36916d523aa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3567, + "data_offset": 3112448, + "gid": 0, + "header_offset": 3111936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h", + "sha256": "8470edd627b9faa12436145be03125fb8d6359804f88d267056434bb9c1d4cca", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2302, + "data_offset": 3116544, + "gid": 0, + "header_offset": 3116032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h", + "sha256": "0f84d9affbe4c7be3f20b7594db32ac7a8b8b1a5ab6e90045b6e6eeef9cf2bdb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5214, + "data_offset": 3119616, + "gid": 0, + "header_offset": 3119104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h", + "sha256": "2a5d445b78fc1981fc32e9b1ec2ed84b26f7009459b05dc8086bb9dec2002a54", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2084, + "data_offset": 3125760, + "gid": 0, + "header_offset": 3125248, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h", + "sha256": "8f33443da1ae6a5b747ceb0a43f824a65ee10c5205ec3a8ce5909244300aa08d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2270, + "data_offset": 3128832, + "gid": 0, + "header_offset": 3128320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h", + "sha256": "aba695214641b9efe0623f1e9ab999d116912405a5cdccdf3f3b3dd3671b7983", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6885, + "data_offset": 3131904, + "gid": 0, + "header_offset": 3131392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h", + "sha256": "e97bc1cab6272b6aebeefabf0e53e6fbed508bcd82cb90b4fa814a3e92ebdab9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3628, + "data_offset": 3139584, + "gid": 0, + "header_offset": 3139072, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h", + "sha256": "0be5036f3162914a45a387f325f24ef7c00491f53f232053e9ac6e6c16827f05", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1587, + "data_offset": 3144192, + "gid": 0, + "header_offset": 3143680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h", + "sha256": "0e6546e3a19732b9522a15a54aa56f5e0c76ed691cb152ce96f2fd7b3f0926a8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2645, + "data_offset": 3146752, + "gid": 0, + "header_offset": 3146240, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def", + "sha256": "d13eaa301a150ba0415fb5cd8f5f22e001bdabccadb7b3a4a6b02dbaa42cd909", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22673, + "data_offset": 3150336, + "gid": 0, + "header_offset": 3149824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h", + "sha256": "94781ae0ab138d083f6679a1521071723de43930ad8ee077d58b2c165bbf4242", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6740, + "data_offset": 3173888, + "gid": 0, + "header_offset": 3173376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h", + "sha256": "5e6c941c7cfd22065c77c2d1f17af5c2658544e28805c7c3aabeb3f7da0d6d94", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 488, + "data_offset": 3181568, + "gid": 0, + "header_offset": 3181056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "sha256": "2ccde3e3cbe4fc9fba8da310295f775d5bd77d9742090f74708f4ff24f683f6d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3015, + "data_offset": 3182592, + "gid": 0, + "header_offset": 3182080, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h", + "sha256": "b1ed271ed0b8aa8a93f57d8977709d60a210c12b6cffadd8d6bf57dde9fe5b0f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3653, + "data_offset": 3186176, + "gid": 0, + "header_offset": 3185664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h", + "sha256": "961c8c913939e13d4852f3a570366c29fefdd40f0964dec97ee505f647586b8f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4558, + "data_offset": 3190784, + "gid": 0, + "header_offset": 3190272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h", + "sha256": "db08d680f9cdc82f5e28833151567a9d08822b83bb400427d085d870a0dc809b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13501, + "data_offset": 3195904, + "gid": 0, + "header_offset": 3195392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h", + "sha256": "82206f0bf9b69a31fc1a3b12fd8f49a872e58db4df289106580356a6fb688c06", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9321, + "data_offset": 3210240, + "gid": 0, + "header_offset": 3209728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h", + "sha256": "17d8b5525f58ed35c4464cdade8e6464ef9dee9ef256a0eccc4eaeeddc520ed2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 23434, + "data_offset": 3220480, + "gid": 0, + "header_offset": 3219968, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h", + "sha256": "9d27e3418748299347a59ab42ff93c640e520ea31e0c3c76c61f5b5f93654086", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3153, + "data_offset": 3244544, + "gid": 0, + "header_offset": 3244032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h", + "sha256": "1f6bf7e4d5ae00679873a10a3fe49b988fa4639b7260f875fb11230749d0c99c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1993, + "data_offset": 3248640, + "gid": 0, + "header_offset": 3248128, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h", + "sha256": "c114e1458772074b645a9f8c631afc9beffd0e229223576c3cdb340ab1827a2e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16250, + "data_offset": 3251200, + "gid": 0, + "header_offset": 3250688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h", + "sha256": "0303929170f719d93b6cdfb7087ad5382cda932518e1d46adf044675194f9936", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2189, + "data_offset": 3268096, + "gid": 0, + "header_offset": 3267584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h", + "sha256": "e98acf62a5e89d7bad5fc45b533abf35de9d9020217aec6f93bdbee51a7cf667", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20076, + "data_offset": 3271168, + "gid": 0, + "header_offset": 3270656, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h", + "sha256": "56b4b8df8e0985a35eccff9695b2b8da669369a358d36f50f82e82e9305cfc39", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1596, + "data_offset": 3292160, + "gid": 0, + "header_offset": 3291648, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h", + "sha256": "dfe0ce5c23a94e691cfc94d3a0acae1ae2dcc9b237b6ff7e1944429a90cec695", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1382, + "data_offset": 3294720, + "gid": 0, + "header_offset": 3294208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h", + "sha256": "0675494730bc2bc17b41e19765e4a96dc360a6fe451a1890ac23355988f46bff", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2693, + "data_offset": 3296768, + "gid": 0, + "header_offset": 3296256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h", + "sha256": "686244bfa730ce91232887f22bbb0b9413043a714424baffca2aa3bc90d6aea4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 12244, + "data_offset": 3300352, + "gid": 0, + "header_offset": 3299840, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h", + "sha256": "ac102cb63acafb40203090aeab74dacb8323bdfed728383112949911172bf4a4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5741, + "data_offset": 3313152, + "gid": 0, + "header_offset": 3312640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h", + "sha256": "fef76c10fe4494ebe014eb320ec641c97ffab633ce9adafbdda0e6c60e1cc5b7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 21038, + "data_offset": 3319808, + "gid": 0, + "header_offset": 3319296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h", + "sha256": "c75c31bdb6fe8e0dbf142fdc299f8f26ec9dff754664e457a49d1de84c6e481b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13805, + "data_offset": 3341824, + "gid": 0, + "header_offset": 3341312, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h", + "sha256": "ab3389f2a5105969867a2dec77eb92f5dd55cfb3c46d26342e5724ee8e47a4dd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16180, + "data_offset": 3356160, + "gid": 0, + "header_offset": 3355648, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h", + "sha256": "c82178ff485d0a61bdbd2450a9ee16caf57e83d98fd37e3326c53593c644e56e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1717, + "data_offset": 3373056, + "gid": 0, + "header_offset": 3372544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h", + "sha256": "0057ddd2bc41631e6069b900bbd34b7895c248d620da2ecde6a07d06d7c77b9a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1245, + "data_offset": 3375616, + "gid": 0, + "header_offset": 3375104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h", + "sha256": "fc606239667d9c5f0549db1d03e64bc1322d73072e92755dfcea9ea1556dde60", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3524, + "data_offset": 3377664, + "gid": 0, + "header_offset": 3377152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h", + "sha256": "93d972961c2d41445faa2ff3ac5ac4aa9f68ac332e31ca32dd77b08ad8830b60", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4155, + "data_offset": 3381760, + "gid": 0, + "header_offset": 3381248, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h", + "sha256": "2312325be7943854df0faade267a89b1454cec041e035614d0499f8ce3a8c538", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15499, + "data_offset": 3386880, + "gid": 0, + "header_offset": 3386368, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h", + "sha256": "5796693bde1e7f9686a857964835bdc7bef1ff9c3a597ef24c1bd8e2eb398d9c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3627, + "data_offset": 3403264, + "gid": 0, + "header_offset": 3402752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h", + "sha256": "52d3cc3697ccb7e70ed38655aee02914046ac9d11284278c2078c88df447d6ee", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1032, + "data_offset": 3407872, + "gid": 0, + "header_offset": 3407360, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h", + "sha256": "94afc3bfb186de354f97612522fd97b07d7b8a552d9d99665aec6804111dff21", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13407, + "data_offset": 3409920, + "gid": 0, + "header_offset": 3409408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h", + "sha256": "f440020333fb36bfc709dad7271c43fdb96229f041dcd9248fa3e30193207afd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11340, + "data_offset": 3424256, + "gid": 0, + "header_offset": 3423744, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h", + "sha256": "4a87c748bc1dbd27969a4ab1a1b50d44e512b3b6d939f07b582002be8c3bb0a9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 26167, + "data_offset": 3436544, + "gid": 0, + "header_offset": 3436032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h", + "sha256": "221af11d18566ae92ed7a523a9a334bc33b1b2b6621e1b30df86544c6c1ffafd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1247, + "data_offset": 3463680, + "gid": 0, + "header_offset": 3463168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h", + "sha256": "14da5c4c72e867d3143078d6b2a4552ea0f69ddc3dc56046cf971e02b5b38811", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6464, + "data_offset": 3465728, + "gid": 0, + "header_offset": 3465216, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h", + "sha256": "c2a70ac4254fb197cb9c67a8167accc6dff3c46f5e324545e325acfc78b446c7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 942, + "data_offset": 3472896, + "gid": 0, + "header_offset": 3472384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h", + "sha256": "1d32456e30d45648cc7c673b5b7164a41e6119336f1f2cd31bc99bf9b9be445a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3073, + "data_offset": 3474432, + "gid": 0, + "header_offset": 3473920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h", + "sha256": "9ccf4af910f55ed3437a891768f184b8b71f13ebf343de0d79c9feb7f073f409", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1894, + "data_offset": 3478528, + "gid": 0, + "header_offset": 3478016, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def", + "sha256": "0088739f71d5b35269c58a6bc6ada86054fb572f241fa349913d36596bb4310b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15775, + "data_offset": 3481088, + "gid": 0, + "header_offset": 3480576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h", + "sha256": "10ee424e78fa32a593879e9aee7cb6f6f40b00ef35d4bd10e7d880e0af7ec0d4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1418, + "data_offset": 3497472, + "gid": 0, + "header_offset": 3496960, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h", + "sha256": "5f157e267c71b120a95972b98cc484e9b7615ce3f8db491760c1d5a8ae735ce8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1497, + "data_offset": 3499520, + "gid": 0, + "header_offset": 3499008, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h", + "sha256": "bce4f75524046f39ccf160d8015b611f8e2a415814cbfe775c3abe6a66c1daa3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1256, + "data_offset": 3501568, + "gid": 0, + "header_offset": 3501056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h", + "sha256": "4115d7893cb95f4120f9ed831b1dd0388310ac85daeac5d23afaf91e2a8606a1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17392, + "data_offset": 3503616, + "gid": 0, + "header_offset": 3503104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h", + "sha256": "1018ca478ee084f9e62d3511e50ad23468fcfa97caedd07906f14da34a54235a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 47491, + "data_offset": 3521536, + "gid": 0, + "header_offset": 3521024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h", + "sha256": "42d108de1fa4567927e5723d516199b34fc863c06b219f8f7cf29361611eb392", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6973, + "data_offset": 3569664, + "gid": 0, + "header_offset": 3569152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h", + "sha256": "83d8a07bd756470d5dbdb9d25e3d3d2740752062d48ca0178b58212216f44ece", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3933, + "data_offset": 3577344, + "gid": 0, + "header_offset": 3576832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h", + "sha256": "c6d76d4363a59a8ad548d6617493eedf9c8602a80d5fa74607efe46f81fef84e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11339, + "data_offset": 3581952, + "gid": 0, + "header_offset": 3581440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h", + "sha256": "82f0910f755cf53737df25fb67a19575be886b82b8d689ccca100bb17419473e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1571, + "data_offset": 3594240, + "gid": 0, + "header_offset": 3593728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h", + "sha256": "fa88c5499e9b77f8661f20508ea78d9b818079251bc0e2744d40b1434f0b8542", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1503, + "data_offset": 3596800, + "gid": 0, + "header_offset": 3596288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h", + "sha256": "8c4d9b5570c51f4e801e26b0c293e11d3732fe37879a06b0ce4c6b4a98a07532", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5158, + "data_offset": 3598848, + "gid": 0, + "header_offset": 3598336, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h", + "sha256": "a4ec8bb41e137b5bb5d8ff884d791b4f5dce3b28b724591bc1784bf5ed65264d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10870, + "data_offset": 3604992, + "gid": 0, + "header_offset": 3604480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h", + "sha256": "b7eae6b1d5defa242a37fd7408b5fdde55fbeea2ee0aec8d9759540c936ca2c0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10423, + "data_offset": 3616768, + "gid": 0, + "header_offset": 3616256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h", + "sha256": "a961105f9d8903b0d79afde450c2a47f69b6eac9b97aebf77d13cd1c2d9400a6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 981, + "data_offset": 3628032, + "gid": 0, + "header_offset": 3627520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h", + "sha256": "69f3378a5afdc45a998194f4c708a567c789b2ce0c4fbe492c1bc40bbeabebd3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8983, + "data_offset": 3629568, + "gid": 0, + "header_offset": 3629056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h", + "sha256": "22962af6a3de149826a8e197ae153d7fffdf50f79dbd0845a794545f25286520", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4972, + "data_offset": 3639296, + "gid": 0, + "header_offset": 3638784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h", + "sha256": "49461de35bd6bb6448d29aad95b9388d1a036374727943cbebedd341b8e644ef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2530, + "data_offset": 3644928, + "gid": 0, + "header_offset": 3644416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h", + "sha256": "dbb82424051d2ab36ad938d31704898b92c0f8999c4aa5e3756c15380133458e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1662, + "data_offset": 3648000, + "gid": 0, + "header_offset": 3647488, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h", + "sha256": "0b5ae839465cfb6be8bb75a1a5c64cd41a0be40bc63c9f38fbae7a8f1afd1523", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4147, + "data_offset": 3650560, + "gid": 0, + "header_offset": 3650048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h", + "sha256": "2b2bb0081f8b72505e3ff1d2e25b6dab3c14a81755d82dc3a32fe7f4ffdb18b1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2144, + "data_offset": 3655680, + "gid": 0, + "header_offset": 3655168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h", + "sha256": "f70a149742d8b6d87cef7e2912fc3ccda35521d5ab9b47c566546cf322c9d261", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6307, + "data_offset": 3658752, + "gid": 0, + "header_offset": 3658240, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h", + "sha256": "0990e92eb8d346fd08962c6c27bbe9e56bf05399fd36ac790e556a67c911bdc5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8692, + "data_offset": 3665920, + "gid": 0, + "header_offset": 3665408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h", + "sha256": "adba924418190f95c63dd1c7a59922fcc18b6bd9d45faaf2ccd12b3191d8a706", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3073, + "data_offset": 3675136, + "gid": 0, + "header_offset": 3674624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h", + "sha256": "73ccc7ad72242c1dade2d85c33e803942cbb50a9e59518bda6023da2392f47ea", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2035, + "data_offset": 3679232, + "gid": 0, + "header_offset": 3678720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h", + "sha256": "9103654748691af3206f7dc00995e9c6c68b3c0cfe9a6294eaf760dfb888adb2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4384, + "data_offset": 3681792, + "gid": 0, + "header_offset": 3681280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h", + "sha256": "0f5bb2bab19be8fbabe84bbd037c39924f78015b9d2b6cf103045e1a86fa2cdb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2383, + "data_offset": 3686912, + "gid": 0, + "header_offset": 3686400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h", + "sha256": "8dd32ec528b1548e6f8e9e85f2412c808ee1c1a9b19942dbce67da7b6d3866f4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3886, + "data_offset": 3689984, + "gid": 0, + "header_offset": 3689472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h", + "sha256": "6e1ec1d0c60117eae8e0b011a85e7dc86f084751362e814decc8c4da1a90dd50", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1934, + "data_offset": 3694592, + "gid": 0, + "header_offset": 3694080, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h", + "sha256": "8930c781c5a7bac209dcd489c3466c59671a98e1ccaa7d3b3a3d2a536407ff68", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1144, + "data_offset": 3697152, + "gid": 0, + "header_offset": 3696640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h", + "sha256": "445c7b6af465bd66f70e984a75edbf9b3d12f78a6a402a3b7c0da62af142fe1d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5477, + "data_offset": 3699200, + "gid": 0, + "header_offset": 3698688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h", + "sha256": "10f6662fd0ac0a31be74d407313e06d9276bd5b298d9be0a762e756eab629045", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1163, + "data_offset": 3705344, + "gid": 0, + "header_offset": 3704832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h", + "sha256": "699116c82b3d4d27f237e7f7e6bb44d7ae82c64654b2b70d89dfc35a29f84738", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4260, + "data_offset": 3707392, + "gid": 0, + "header_offset": 3706880, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h", + "sha256": "fe58ab5c8b95a6c3975b35a075f00e3704f8519968a388c2989b30c0c62e6691", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16974, + "data_offset": 3712512, + "gid": 0, + "header_offset": 3712000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def", + "sha256": "ec4c9c88546fa7cb5130de64224baea8f2f2481206a35825ff5f0725f7be611a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 161475, + "data_offset": 3730432, + "gid": 0, + "header_offset": 3729920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h", + "sha256": "3da4923eb7137e70e89af8e31b0164f5ac9ef3979b32b158fcc68787a091ff2d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1550, + "data_offset": 3892736, + "gid": 0, + "header_offset": 3892224, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h", + "sha256": "13ca97e62e1046c0ee94573bc528f690f21d2c95508e2a4b52a4fd586a1bb448", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3596, + "data_offset": 3895296, + "gid": 0, + "header_offset": 3894784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h", + "sha256": "6dc1920d67c95c1b72f3e530d8a3ebe926952e03c4248dd35d6c8492496ad543", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4718, + "data_offset": 3899904, + "gid": 0, + "header_offset": 3899392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h", + "sha256": "15cc72ece04746fe84d86ca21b4fa473d3d8e9a63e6a187901c047e1d0d4e918", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15067, + "data_offset": 3905536, + "gid": 0, + "header_offset": 3905024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h", + "sha256": "f49c5847a59f70bb7dcf6ce883fad82f88827da128412dc375e72e599a82d9cd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 951, + "data_offset": 3921408, + "gid": 0, + "header_offset": 3920896, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h", + "sha256": "1e7878693178734e3f7692e7da5f40ebd4439d7118a0451f9df0a432939f915b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2293, + "data_offset": 3922944, + "gid": 0, + "header_offset": 3922432, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h", + "sha256": "de279206c8ea8dc4a8078b32f0a38853ac6c03687e3dfddec70056bf66eb09a5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 12497, + "data_offset": 3926016, + "gid": 0, + "header_offset": 3925504, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h", + "sha256": "ccbae957b442f88d088d56aec8f8045b4057653c363115621c46a408658bae23", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1531, + "data_offset": 3939328, + "gid": 0, + "header_offset": 3938816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h", + "sha256": "3a42edc31d2b1c4ac08ba1b3dca541ca909a964efa7646f7010e2ba21a3e30cd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2409, + "data_offset": 3941376, + "gid": 0, + "header_offset": 3940864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def", + "sha256": "1651b558793d700fe1a0c4ac2b9cac5c95ef2e4520f42df76938d6848a3b6add", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1783, + "data_offset": 3944448, + "gid": 0, + "header_offset": 3943936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h", + "sha256": "1d2e65fdd1565fc90923304bdadeeb00384d7d617f28a23d7a76537a52e80893", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 330, + "data_offset": 3947008, + "gid": 0, + "header_offset": 3946496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h", + "sha256": "22dd0ab81baadd5a8d455b445855f341d419c7b0267beca235de00b7ec78e529", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10158, + "data_offset": 3948032, + "gid": 0, + "header_offset": 3947520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def", + "sha256": "b8fe0ca2bae450a6cc5fab57ede4cfb1a59c98cc8451837a9e763d168d5f52df", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 176886, + "data_offset": 3958784, + "gid": 0, + "header_offset": 3958272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h", + "sha256": "02870fb8fd90e7115d52b7893ac70db6fdb19e0189f53235b2e65066c7203855", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16063, + "data_offset": 4136448, + "gid": 0, + "header_offset": 4135936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h", + "sha256": "1531add71cd94bfd441313905a0e233cb3774e10491d634830b3be5d58271dfb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5627, + "data_offset": 4153344, + "gid": 0, + "header_offset": 4152832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h", + "sha256": "0e258c1fca60d02537913288f68f8234ed300e36c824d0515ebe3704436dffc2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10909, + "data_offset": 4159488, + "gid": 0, + "header_offset": 4158976, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h", + "sha256": "e5cf42c2ad4515dc2a88fe984ec0281632689bcca2736f50dd2fdfeca546c948", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5741, + "data_offset": 4171264, + "gid": 0, + "header_offset": 4170752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h", + "sha256": "876bf0e7c31a5378efc30e07fabbd55a94245bbf44ebf2f7784659e42d59a9a2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 39688, + "data_offset": 4177920, + "gid": 0, + "header_offset": 4177408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h", + "sha256": "7115642e9761d2cd36f131d486a437a110b93158fb0899308b49793615b1b5b9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11226, + "data_offset": 4218368, + "gid": 0, + "header_offset": 4217856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h", + "sha256": "81c44e0537bfc87a0b9adcc52051236015f28b222fcaafb54f8815c9561b2479", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7402, + "data_offset": 4230144, + "gid": 0, + "header_offset": 4229632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h", + "sha256": "a72e81a2c7322ca4fc9ba821c1cb38ae7c034cb402181e90d91841cd58b1f98e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1121, + "data_offset": 4238336, + "gid": 0, + "header_offset": 4237824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h", + "sha256": "b81549f3331b5335b3129ac2091691aa658b5cf651ba1ba0082906af22997f54", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6259, + "data_offset": 4240384, + "gid": 0, + "header_offset": 4239872, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h", + "sha256": "1e7d3063c34061812fbdd950e90d858e0bc1cd5f67db144a75c3246aa7cf31bd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1808, + "data_offset": 4247552, + "gid": 0, + "header_offset": 4247040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h", + "sha256": "0003121f60d6cb02ed21c08709c10889e5df6891bdd8251290f0084e81bf2b4b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1943, + "data_offset": 4250112, + "gid": 0, + "header_offset": 4249600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h", + "sha256": "61e4c9ea3990396756584ee9bc40ab081fa6204a48eeaa345c072f58a50a25ad", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5584, + "data_offset": 4252672, + "gid": 0, + "header_offset": 4252160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h", + "sha256": "88a0e0f498a55f586df2845736b75e63b07802f169bcf8b1edf4fc95f8bedcc0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10745, + "data_offset": 4258816, + "gid": 0, + "header_offset": 4258304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h", + "sha256": "7a50e1ced617289ebe97acbaf61925b7de235e50d4b73d8575da288dd064a127", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4271, + "data_offset": 4270080, + "gid": 0, + "header_offset": 4269568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h", + "sha256": "b09b75199f3721bd9538812d29ce8da67c95c992da9295b4c865d70b470aff7d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5203, + "data_offset": 4275200, + "gid": 0, + "header_offset": 4274688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h", + "sha256": "5b78e81a7226a9cbc6c664b2928c68ccb155132d4e764daaca2eb28590137856", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1696, + "data_offset": 4281344, + "gid": 0, + "header_offset": 4280832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h", + "sha256": "747174cc153c2c9851a6acfa50586fa632db3696650b118a00fed85bac643b79", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9147, + "data_offset": 4283904, + "gid": 0, + "header_offset": 4283392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h", + "sha256": "ab7c203f21122c26260141dffe2e3e3fc30c9ad6458b5c2be26029d4cf34280d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1881, + "data_offset": 4293632, + "gid": 0, + "header_offset": 4293120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h", + "sha256": "62a42864b5d1de2f6ba657663688b67018349a6ef133fe4f9feb312edbd4674f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5586, + "data_offset": 4296192, + "gid": 0, + "header_offset": 4295680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h", + "sha256": "bcb77597a67ac6b68b24dbdae7dca900f611ad0a8a3a56ecf8af45378d890ca6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11715, + "data_offset": 4302336, + "gid": 0, + "header_offset": 4301824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h", + "sha256": "4baa3750012a67f0bb4600d7faea1a52c3c104779aaa8c64095f2d0581757902", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 310455, + "data_offset": 4314624, + "gid": 0, + "header_offset": 4314112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h", + "sha256": "83e0c3cbab2ce449e98b300a78667666b4f8a7cfe4d4b4cdfdd8af8019393774", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 526, + "data_offset": 4625920, + "gid": 0, + "header_offset": 4625408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h", + "sha256": "61f4af46470a090d3879482225cf5b44d7e63e6a62a2556c588758311a7b55d1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11204, + "data_offset": 4627456, + "gid": 0, + "header_offset": 4626944, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h", + "sha256": "319b6341188b6ea532fc90a5a6ce26a0c87e35a2f4c7887f8db3a54f9d8f8ca3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1347390, + "data_offset": 4639232, + "gid": 0, + "header_offset": 4638720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h", + "sha256": "0e21173edfdcf406b300992e8bab9ef65ca3a98f42501d24efeffd057eedb218", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 24711, + "data_offset": 5987328, + "gid": 0, + "header_offset": 5986816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h", + "sha256": "206116a4fb7aedd76f936dfd3f23c5ba9a9c4cda1c787338dffcdc6feea6a78d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 28560, + "data_offset": 6012928, + "gid": 0, + "header_offset": 6012416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h", + "sha256": "bc522aae00c541e890a64bec011e0df5c0952f76058e4418fde210051b4f9a16", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3617, + "data_offset": 6042112, + "gid": 0, + "header_offset": 6041600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def", + "sha256": "a3c40aa47c1a61414ee539c2729d60cf027c7a654a576d6bfa9a4038d4cb8be5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2706, + "data_offset": 6046720, + "gid": 0, + "header_offset": 6046208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h", + "sha256": "8793b9ae709fa4abfa4b47b42f7d44e5b8a0c81babb947316f340e26c34bd955", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22125, + "data_offset": 6050304, + "gid": 0, + "header_offset": 6049792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def", + "sha256": "b5bdb9d9d2d0c0836398ce22772e364881ef4999da68d6824a3c08bbebfb864a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8988, + "data_offset": 6073344, + "gid": 0, + "header_offset": 6072832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h", + "sha256": "6e5d20a5735c158d71a3fea72e303455ce5a1ddb1964a1283084331645a923e2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2009, + "data_offset": 6083072, + "gid": 0, + "header_offset": 6082560, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h", + "sha256": "4a313883acbe8bf6a6502e0f4a56863ab5916e8defe4828e98f5251af2536744", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15911, + "data_offset": 6085632, + "gid": 0, + "header_offset": 6085120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h", + "sha256": "de4a896a9634f74046d2869acd9bd1cb53ee4f7f2ab55fe1ced41460f03417f1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11544, + "data_offset": 6102528, + "gid": 0, + "header_offset": 6102016, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h", + "sha256": "496e275a5cece9993a70e8bd4a02344ed0e3ac7c50d1b81d9d1adc7d4094db2c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 21309, + "data_offset": 6114816, + "gid": 0, + "header_offset": 6114304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h", + "sha256": "9e7a92faa7ba1f266da868b0054480f19dd8d5291c479b4ba7132e9a35c27cb5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4289, + "data_offset": 6136832, + "gid": 0, + "header_offset": 6136320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h", + "sha256": "1e955d3f468551b8ad6ff25bba478f81e71ba94e61db38fb585772b5d2f935cb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22363, + "data_offset": 6141952, + "gid": 0, + "header_offset": 6141440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h", + "sha256": "fe51a1249a2d02f88c09e4d39f5b86bc4b93134c6afc94923fdee8c364fcbc69", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5027, + "data_offset": 6164992, + "gid": 0, + "header_offset": 6164480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h", + "sha256": "22c65da14709b9b84e8086769f3897e4f48f05b59e975a3d241a495c09dc1d47", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18540, + "data_offset": 6170624, + "gid": 0, + "header_offset": 6170112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h", + "sha256": "f3201c2d0c05d9f7a8ff5bf24b45c7900d74f826c73e8f1462abf2489e97e561", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8891, + "data_offset": 6190080, + "gid": 0, + "header_offset": 6189568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h", + "sha256": "6b22f107252d8a4e3b93663584c2a43293e30630960369e6f3308c664c7ca4ae", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 41250, + "data_offset": 6199808, + "gid": 0, + "header_offset": 6199296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h", + "sha256": "c6ac7cb1c6c2b9b41e6351d823c97cd36ed192055f2bec5d5cf732816d6d00dc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3529, + "data_offset": 6241792, + "gid": 0, + "header_offset": 6241280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h", + "sha256": "399109d1b5ba4d7aba587233d2235c508453294b503640636bf5f65c4bec4fb5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1099, + "data_offset": 6245888, + "gid": 0, + "header_offset": 6245376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h", + "sha256": "43c907a42844c6b38799eae901b6046c4676dc27de8ebd5a5318a954f2520d4a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9725, + "data_offset": 6247936, + "gid": 0, + "header_offset": 6247424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h", + "sha256": "5329e4984b4519090d52923ceca6c115f03b57327b2bda231c555f1b2b6dbde4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 62259, + "data_offset": 6258176, + "gid": 0, + "header_offset": 6257664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h", + "sha256": "aec4d79bbac7c207b388b045b7b0d55947f13a9d5138a5ef57c8a36031248e02", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9893, + "data_offset": 6321152, + "gid": 0, + "header_offset": 6320640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h", + "sha256": "d732461cda17464dbf997c189a28eb5c1ee94a8171be0ca2d7c68e5f148e4810", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7700, + "data_offset": 6331904, + "gid": 0, + "header_offset": 6331392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h", + "sha256": "a7be36431cebf05709bd2a25f47381bc2786125bfc92f933edc28aab6761f8ca", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5894, + "data_offset": 6340608, + "gid": 0, + "header_offset": 6340096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h", + "sha256": "f22917e2b2d4ee3b5d012e3fb9237f262ab7d7cc09f5b68f6abef02cb600afca", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4705, + "data_offset": 6347264, + "gid": 0, + "header_offset": 6346752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h", + "sha256": "9ccf0c42d9ddb74401cac7be0c8bd17c3183be25d7b2af89069a98b8978272cf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16998, + "data_offset": 6352896, + "gid": 0, + "header_offset": 6352384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h", + "sha256": "95f149ef20e682d4877d5f2ebb2c9886b68750f8cf586b4a982e32566e67f488", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27732, + "data_offset": 6370816, + "gid": 0, + "header_offset": 6370304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h", + "sha256": "5cef50bf7cd776d0bb62db9722163b98f4372e8ab256ceab28a6eabd0161f572", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1327, + "data_offset": 6399488, + "gid": 0, + "header_offset": 6398976, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h", + "sha256": "0bda2ffffab92ff1e08ad9d5d820a27f9379ee6782d2d27dcb753a5d6aea38db", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2586, + "data_offset": 6401536, + "gid": 0, + "header_offset": 6401024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h", + "sha256": "4ede906245548b77c8039974408ad67b33f437b8d37863cdc8511ad21f053ea4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27873, + "data_offset": 6405120, + "gid": 0, + "header_offset": 6404608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h", + "sha256": "30bb26b74878d324cd3a495ae6913f9dc682fb8519c2acd55520e31f8456a6c1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1411, + "data_offset": 6433792, + "gid": 0, + "header_offset": 6433280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h", + "sha256": "3b38742bd304c485bb6ab53cacea9432e28205ac7a002a86330f0ae2380f2b3d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 270, + "data_offset": 6435840, + "gid": 0, + "header_offset": 6435328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h", + "sha256": "281813879fe05668e6a3cc520ef294c7fd3f01f75dd67cb5e363c3ffdf37cb1b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 73241, + "data_offset": 6436864, + "gid": 0, + "header_offset": 6436352, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h", + "sha256": "415f38816ece1ca843803ef3af96be9d9029e83fe9e76b53f0c33f74eeaee778", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2486, + "data_offset": 6511104, + "gid": 0, + "header_offset": 6510592, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h", + "sha256": "62fd366fc45f278a0957b5b9c456bf9967bf0dddb1903a9539df9f677abba3b2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 893, + "data_offset": 6514176, + "gid": 0, + "header_offset": 6513664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h", + "sha256": "013de58934fbc12448fd9c684dd5c920be658c527ec61c4d5bff848d911373af", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2081, + "data_offset": 6515712, + "gid": 0, + "header_offset": 6515200, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h", + "sha256": "a17e1d7b54de7bbd12917d92e645bebf03466c4dff43a4fb3314b955f08d93d1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18811, + "data_offset": 6518784, + "gid": 0, + "header_offset": 6518272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h", + "sha256": "3e1e99bc6bab69cb9d3c81f4e84f13d15aec66a39597b1272f46e8e5d994982f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1337, + "data_offset": 6538240, + "gid": 0, + "header_offset": 6537728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h", + "sha256": "a0dac0179283d66fecc9eef1245bfe9e220cadd855bb78238fb17938223a01d3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1599, + "data_offset": 6540288, + "gid": 0, + "header_offset": 6539776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h", + "sha256": "d0e82fdd93133a4165a7355e79d815cd0cd4e2d954f59d8141b9b9d1ba5d38c8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1595, + "data_offset": 6542848, + "gid": 0, + "header_offset": 6542336, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h", + "sha256": "1c91506b7ee8fa420ef0852e90dc824e28dc367274d05fce88f188b9644a3473", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 38386, + "data_offset": 6545408, + "gid": 0, + "header_offset": 6544896, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h", + "sha256": "8af2370c5da76c5a10a5f81dc7276d577d15d4427a45a4fc945056200f971ecd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 975, + "data_offset": 6584832, + "gid": 0, + "header_offset": 6584320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def", + "sha256": "ee4847ee69fc0acd5f2c89176d2d523ada86876bf6ef97c37f05becf56c0a049", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10847, + "data_offset": 6586368, + "gid": 0, + "header_offset": 6585856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def", + "sha256": "de584372b4942dd19796032f087b652ebe3425f4fdfa71ce16245a17c1f47506", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 35856, + "data_offset": 6598144, + "gid": 0, + "header_offset": 6597632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h", + "sha256": "4444cb35bf21f0fad623af174c34d3a23a1f7a239206148ada43f4ea422ab3ee", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1529, + "data_offset": 6635008, + "gid": 0, + "header_offset": 6634496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h", + "sha256": "ec51d87d64f36a9d717d4a9b12810d43d60c16ca5527cda00de934f58bea6ffd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5409, + "data_offset": 6637056, + "gid": 0, + "header_offset": 6636544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h", + "sha256": "7e63418a7fcab4637c5fb29fe554149c0252ed43fcd70a9434af8d8157aff5d6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1280, + "data_offset": 6643200, + "gid": 0, + "header_offset": 6642688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h", + "sha256": "afa4dc890a08081d268b4b7512fbcbe46572dc71d6a026b465a8f6e2d9714451", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18132, + "data_offset": 6645248, + "gid": 0, + "header_offset": 6644736, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h", + "sha256": "95cc899b612bf1d4aceeb45663b2bbc34b8711d38c215b53ef2693fd73ddcc91", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3401, + "data_offset": 6664192, + "gid": 0, + "header_offset": 6663680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h", + "sha256": "4c56869646d5db67ce1887862d23c13ac2453879ff8da57c67f5c4ad6594ff69", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2500, + "data_offset": 6668288, + "gid": 0, + "header_offset": 6667776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h", + "sha256": "76be7522462077eba796115512b13778ebbff5be23babf8ca6cf19805d435014", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2034, + "data_offset": 6671360, + "gid": 0, + "header_offset": 6670848, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def", + "sha256": "51d097959c833480f573c1253da61cbf79495424ff3640c577837ee5e7fe5cbd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7617, + "data_offset": 6673920, + "gid": 0, + "header_offset": 6673408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h", + "sha256": "639957ca653d1b4a8caccabe94166b6e80dcc150dc7fef7120b03781d3e86338", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3378, + "data_offset": 6682624, + "gid": 0, + "header_offset": 6682112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def", + "sha256": "c2b3a32369d99cc8260b985d647c5a4e506f0e1f95296062c8993ac33070799c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2480, + "data_offset": 6686720, + "gid": 0, + "header_offset": 6686208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h", + "sha256": "3337eebd882f83dd0d81305cd886c20403267f9030966fe91e021eb793b71c85", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22405, + "data_offset": 6689792, + "gid": 0, + "header_offset": 6689280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h", + "sha256": "d7b88aea7f6a9579f716a775fba2acbd119315e0975431c7644ec842495271d0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22884, + "data_offset": 6712832, + "gid": 0, + "header_offset": 6712320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def", + "sha256": "0ea9f9414e42aa2ebfca27d2a853594f13d30b63259303d77207e30d07ba67c6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1165, + "data_offset": 6736384, + "gid": 0, + "header_offset": 6735872, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h", + "sha256": "865d458725ff3ac68fe6e34ac2d9d4a9df93cf0913469d9726f426a0fc9c25cc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5983, + "data_offset": 6738432, + "gid": 0, + "header_offset": 6737920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h", + "sha256": "7adf96139b70216876dc610b87a81c950f197811ba7e1249031dad9f0d1c00b5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1095, + "data_offset": 6745088, + "gid": 0, + "header_offset": 6744576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h", + "sha256": "db8f807abd15f86cbb42242e65b1e9a3447074aab6c98424b0a7ebf2dab8b80f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1214, + "data_offset": 6747136, + "gid": 0, + "header_offset": 6746624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h", + "sha256": "244d40fb972c66f1accc14712cf0ee6575209e113431fc897af09b6ec59295b3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 880, + "data_offset": 6749184, + "gid": 0, + "header_offset": 6748672, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h", + "sha256": "74456a1c9e0f39545ffa3f6eb8b3c8cfebfe7a4ab954453c6a912f4e42fa1ca3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9423, + "data_offset": 6750720, + "gid": 0, + "header_offset": 6750208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h", + "sha256": "3a2ab8a4cdeba7790e0f246c37580c904dbf459e4d26a5775f82220ecefafc35", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2540, + "data_offset": 6760960, + "gid": 0, + "header_offset": 6760448, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h", + "sha256": "50fb15e8b6fb8980f80cffb19667e63740c0a0a4be47bb5e5e5ab59351a2362f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3469, + "data_offset": 6764032, + "gid": 0, + "header_offset": 6763520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h", + "sha256": "29ed316ac1c28a4b1df96943e194d1d63ecfe761e9f6124a418b227cd84eb87e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7104, + "data_offset": 6768128, + "gid": 0, + "header_offset": 6767616, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h", + "sha256": "5ed43d77e9d7d2080d5d02a78260d759c5b14028431b28055e3d4564d5aecea1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1867, + "data_offset": 6775808, + "gid": 0, + "header_offset": 6775296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h", + "sha256": "10de46939ebad137748008605be8afb05dbceb4eb7e7c09d7ffe11f11c15897f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22768, + "data_offset": 6778368, + "gid": 0, + "header_offset": 6777856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def", + "sha256": "423d37d7db5f9ae5be74b83d2d55a4acbbbaeaf56b293d68375f7a8f7d2f24dd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 14408, + "data_offset": 6801920, + "gid": 0, + "header_offset": 6801408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h", + "sha256": "904dbf30e1cb2dae59e3ebca387fc9f4a278b1a5b468fa82c97d4a35e4e618cf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2047, + "data_offset": 6817280, + "gid": 0, + "header_offset": 6816768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h", + "sha256": "b8d4716945ae169e7be105dfe9b29417a907a308dbf2ccf629a6d8bbb7a31ef4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5152, + "data_offset": 6819840, + "gid": 0, + "header_offset": 6819328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h", + "sha256": "8884b6514baf87d199fe0c54da077e7209cc760022a83984c3f26d6a18ec4102", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 504497, + "data_offset": 6825984, + "gid": 0, + "header_offset": 6825472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1032, + "data_offset": 7331328, + "gid": 0, + "header_offset": 7330816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h", + "sha256": "b941dcb347c09c55364350b23ba666aa11d3665920a5d8d6778c4edf3454d983", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1787, + "data_offset": 7333376, + "gid": 0, + "header_offset": 7332864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h", + "sha256": "cf69cae8fdfc06b026c6c9e6f73b6569012e368d595522dda263490c7323f0cd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20111, + "data_offset": 7335936, + "gid": 0, + "header_offset": 7335424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h", + "sha256": "679ae81edf5eb0f284eb8426d2d742b795d94c718d08fa0c6be0b000fed8f99b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5035, + "data_offset": 7356928, + "gid": 0, + "header_offset": 7356416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h", + "sha256": "a19e5a6c8b0995d955972ac1e8e36f8e3e596def77e1071a66c5513110d8c984", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 25158, + "data_offset": 7362560, + "gid": 0, + "header_offset": 7362048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h", + "sha256": "0b1f52111356fa8ff77fd3cc829c2a14400a6322db3743f8293f6cba3ced544c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 24846, + "data_offset": 7388672, + "gid": 0, + "header_offset": 7388160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def", + "sha256": "a0e160ffd36c3ad1643ac4b29dffb0cbda42eb411cf8b29618df9917e586c5f4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4112, + "data_offset": 7414272, + "gid": 0, + "header_offset": 7413760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h", + "sha256": "14517703ae93aca191844dd07649820424e8c9f84cb17bab6a7058bdd91b9766", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22106, + "data_offset": 7419392, + "gid": 0, + "header_offset": 7418880, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def", + "sha256": "f0a89caaaec0c4e234e4840f5958cc59ed9189f18bf62309ea78bb68befd4fe6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18343, + "data_offset": 7442432, + "gid": 0, + "header_offset": 7441920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h", + "sha256": "ab883946bdbc9a8143b32bf970b3be836e070c62223974b25bffae4e747836ae", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 595, + "data_offset": 7461376, + "gid": 0, + "header_offset": 7460864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h", + "sha256": "240c05ad22d5f396015efdc5d0381c554ea79d62c8ece0402909501e59a5f1d4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3419, + "data_offset": 7462912, + "gid": 0, + "header_offset": 7462400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def", + "sha256": "6e5670c5c93a21ee20ddb1d96974c782cb51b988fe4bd66a8aed42768b88f54e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6593, + "data_offset": 7467008, + "gid": 0, + "header_offset": 7466496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h", + "sha256": "bf17c85ab563f8cc6808993e83dd6ef727b282b8b4ede9749d635d23feb7753b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9703, + "data_offset": 7474176, + "gid": 0, + "header_offset": 7473664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h", + "sha256": "d68d16e80c901ae7f30d93772645252e184268e91f38d8e6f461f1bdd22ef2b0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4328, + "data_offset": 7484416, + "gid": 0, + "header_offset": 7483904, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h", + "sha256": "e2a969980945c688e2851b91a34bfd6658ee0aa5684a6e7cab5bd81bc2ab5d6a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 81531, + "data_offset": 7489536, + "gid": 0, + "header_offset": 7489024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h", + "sha256": "e66872fe193c40e9548de5effafec475f4d2d57ba0e69db2d2ee091c75a3caa3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10136, + "data_offset": 7571968, + "gid": 0, + "header_offset": 7571456, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def", + "sha256": "f78bdbe1e3493092e5bd7544a6ec94e57e8ca280b6487d037312d68adb71a537", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4752, + "data_offset": 7582720, + "gid": 0, + "header_offset": 7582208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h", + "sha256": "3a15c9bc658a8d773b9b741f9c52b5d08eb2461715478add8a0b7785a8a0c73a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1260, + "data_offset": 7588352, + "gid": 0, + "header_offset": 7587840, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h", + "sha256": "7a6f926a74485becf52e91b15cbdee5674b8470a4c5376179667e32c093430ab", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16071, + "data_offset": 7590400, + "gid": 0, + "header_offset": 7589888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h", + "sha256": "605c2d11126def8d4b358a661000989448a6e6777e7b04536243cac1bbe4ee03", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5643, + "data_offset": 7607296, + "gid": 0, + "header_offset": 7606784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h", + "sha256": "82d36d4eb489d6959e70dbaee1fb14b5d30a04a76840ded2df90572aa07d6885", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1944, + "data_offset": 7613952, + "gid": 0, + "header_offset": 7613440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h", + "sha256": "ad87f6e71674db1ea93d24fd13c5f4ba4a44c910c438389d1a3f3ed0f944efef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 39197, + "data_offset": 7616512, + "gid": 0, + "header_offset": 7616000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h", + "sha256": "daacfd3111a8ae358573e4edd62d06a765824feaa61ee6e3bfd2fce6719c715a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2335, + "data_offset": 7656448, + "gid": 0, + "header_offset": 7655936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h", + "sha256": "00eeecf678a97ef2d8b27c21739580e2fb4b22758807b9351ba421338e5fc5c4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10757, + "data_offset": 7659520, + "gid": 0, + "header_offset": 7659008, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h", + "sha256": "97143b407697c7e1dd429675660e8e5c262e90331c0cf3509ce5e998e8ed2bc8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1690, + "data_offset": 7671296, + "gid": 0, + "header_offset": 7670784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h", + "sha256": "ac66d273dd27ae1aa5672ba820129727c2b48110d7f780922a8d46ba26e12d02", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13190, + "data_offset": 7673856, + "gid": 0, + "header_offset": 7673344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h", + "sha256": "b4d0bb94bf80c7cd2426e80d98b6063ceaf9fe77135e2323cde155d7ae4f20e7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1002, + "data_offset": 7687680, + "gid": 0, + "header_offset": 7687168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h", + "sha256": "087dae9fb10d3d7fca65278b2fcd521477058b91c3242a385853e22897497b81", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 21374, + "data_offset": 7689216, + "gid": 0, + "header_offset": 7688704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h", + "sha256": "64bb28d4bd9cee160cb7a165827ac901f8fc5c0fb0c7d0976885a37ab065119f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1302, + "data_offset": 7711232, + "gid": 0, + "header_offset": 7710720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h", + "sha256": "d8f33b66341cd504dab1a29eebd8215a56e1769b57a4d62b6a9ad3ed1f7e5c0c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18160, + "data_offset": 7713280, + "gid": 0, + "header_offset": 7712768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h", + "sha256": "65f535deb2993fa5960cc5f39477b710b3d6ebe5ab2d6b4165bd8d61acce560b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10982, + "data_offset": 7732224, + "gid": 0, + "header_offset": 7731712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def", + "sha256": "71888a6aa0d904d1462f91a82810073231c8526d0f33a9a7a6d82cbb87cd7b3e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 877, + "data_offset": 7744000, + "gid": 0, + "header_offset": 7743488, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h", + "sha256": "b58d176b75700c415cfad8218d7a2b08ee8004bda1cc22ba50dac9bd4978a38b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3563, + "data_offset": 7745536, + "gid": 0, + "header_offset": 7745024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h", + "sha256": "1e36a6da41687305e5a97cb741594abb02b4d3fff577fcb8a62138c5822ebfaa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 12634, + "data_offset": 7749632, + "gid": 0, + "header_offset": 7749120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h", + "sha256": "15d9102c0bf9155ba02c9a3806be502e9ac5f788a30c5e5f17dd873e7bf2bc5a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4824, + "data_offset": 7762944, + "gid": 0, + "header_offset": 7762432, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h", + "sha256": "2728d61c5e85efc5802bebd3310845d1e72f6554418810ae5edace22e49e0241", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17659, + "data_offset": 7768576, + "gid": 0, + "header_offset": 7768064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h", + "sha256": "3abb0b6d1e9c65d38b61b185c88c5ebf37e51beaf2bf8912c3bdae3d2e46050b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1981, + "data_offset": 7787008, + "gid": 0, + "header_offset": 7786496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h", + "sha256": "5830422162a9e2bf8aae757776bf399fc10dbaa599504343f4effc3737605b81", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1050, + "data_offset": 7789568, + "gid": 0, + "header_offset": 7789056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h", + "sha256": "0398b05ae75bbaa2014dee32fe3b5614ba536c2a40e899985dc83c3db52feea8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8363, + "data_offset": 7791616, + "gid": 0, + "header_offset": 7791104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h", + "sha256": "4fa2852f3ea51e76acfbaca3d8297b94ad04d66cf4d2712a4475e17fba73a1d2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1991, + "data_offset": 7800832, + "gid": 0, + "header_offset": 7800320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h", + "sha256": "bea1a8cd10f40cc67634ead997999942231497ab46f2b5ae5bf07991c5efa230", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 61440, + "data_offset": 7803392, + "gid": 0, + "header_offset": 7802880, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def", + "sha256": "0a5f215a95ba9df29b8fc743f7e477e2a493e16d2c91b5d5ad349846497e0764", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 160104, + "data_offset": 7865344, + "gid": 0, + "header_offset": 7864832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h", + "sha256": "141702d3ec4ef6829ad9f8082850a8d4cfb7483b7e1cbc500de4e34418bacb9c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10466, + "data_offset": 8026112, + "gid": 0, + "header_offset": 8025600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h", + "sha256": "5f3a7b97630a0a51cc4a40175e162f0ff85b9cc1d547b140496bbf783efc7895", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 850, + "data_offset": 8037376, + "gid": 0, + "header_offset": 8036864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h", + "sha256": "28b8d35d5616c74c62fa31b5674318d7e0fba611f2bf06192fd636d0ea474b35", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1797, + "data_offset": 8038912, + "gid": 0, + "header_offset": 8038400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h", + "sha256": "d5c4db6a98b8586c5f8dca8f225041caf4f3473ad95e54583866dae9f5a75a37", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3848, + "data_offset": 8041472, + "gid": 0, + "header_offset": 8040960, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h", + "sha256": "f5e36f8d27a594b77cb0530ba42ea335c9eceabdab7961675efd0d0c5304d539", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 884, + "data_offset": 8046080, + "gid": 0, + "header_offset": 8045568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h", + "sha256": "9582b29310769bfaabfe8c23c637c6d8e1376edd9ec9bcc176fb38b99848c206", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5642, + "data_offset": 8047616, + "gid": 0, + "header_offset": 8047104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h", + "sha256": "e7e2202f4b96bc269c5a885812b4a919c92e64e196d106b0a8db4a93572e7bd3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 33537, + "data_offset": 8054272, + "gid": 0, + "header_offset": 8053760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def", + "sha256": "e4069289ef31866fde4d1acdbd4a747e5d99586e058067b57b3343b0ea6f92ec", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10369, + "data_offset": 8088576, + "gid": 0, + "header_offset": 8088064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h", + "sha256": "9958ea326e761f3ff9c9526c7223b076fc4b9cec7c9453f21083a320210eb2c5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 61641, + "data_offset": 8099840, + "gid": 0, + "header_offset": 8099328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h", + "sha256": "dc1a6562fe614c64146430ed54600e933c30a5061cec75aea95e46083477743a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6940, + "data_offset": 8162304, + "gid": 0, + "header_offset": 8161792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h", + "sha256": "d6d217bd789ab925858267a761092651c2fe7a9b5fd530ed9009ffa627e86aad", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 48949, + "data_offset": 8169984, + "gid": 0, + "header_offset": 8169472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h", + "sha256": "b17053bd5d174df238c8bc41be386f371ed678dc170e4cfb90dc5ba4d87e9e3a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 920, + "data_offset": 8219648, + "gid": 0, + "header_offset": 8219136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h", + "sha256": "c1f7a7e88904e6b3f2f64b94bd77dd2a27e986153047d5896099163227df8282", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1493, + "data_offset": 8221184, + "gid": 0, + "header_offset": 8220672, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h", + "sha256": "3662ed457aa27813ef3f0802f4d48dc039213a453f434e757808e4f6a4f8e03a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3235, + "data_offset": 8223232, + "gid": 0, + "header_offset": 8222720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h", + "sha256": "feda33ddda3dd145deed464204db202a5c8075fe9fdc30fcdbcae2bb71a69983", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15588, + "data_offset": 8227328, + "gid": 0, + "header_offset": 8226816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h", + "sha256": "d2cf01d8ef1465541dfbbf3bbd3fad1c32d2b35dc4d89d20f9095b54137d5719", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7500, + "data_offset": 8243712, + "gid": 0, + "header_offset": 8243200, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h", + "sha256": "bc5b78d700b487e41136fa6a422d603b033f853539c19cb03f4249b6e346c345", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6205, + "data_offset": 8251904, + "gid": 0, + "header_offset": 8251392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h", + "sha256": "2eaff39957c8b8c6195b2eeebf1601d74aa203959545d223001b436311eab295", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1165, + "data_offset": 8259072, + "gid": 0, + "header_offset": 8258560, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h", + "sha256": "4c02ba20251963758c89b10899393b28662d9463c09f23cdf1a26b63c9f6726e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1056, + "data_offset": 8261120, + "gid": 0, + "header_offset": 8260608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h", + "sha256": "aee11f55692dd8b2bda2d8a04c45b7d40379c55258dda5db1f03c3515631f8a0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6812, + "data_offset": 8263168, + "gid": 0, + "header_offset": 8262656, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h", + "sha256": "c7eb94536c94fd08bcc4dc755716d6b4d975bd75f71f8186f3c0e510d449c5f2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1416, + "data_offset": 8270848, + "gid": 0, + "header_offset": 8270336, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h", + "sha256": "ff8432c6862f0d119017626789c451dea9388b6ea74eba4f53186beabd135094", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7360, + "data_offset": 8272896, + "gid": 0, + "header_offset": 8272384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h", + "sha256": "330f381fc436a17de505c30f977ef2a2ee4692e0b0dffdb4b752a37f14ebc4d0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16880, + "data_offset": 8281088, + "gid": 0, + "header_offset": 8280576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h", + "sha256": "a13bf0f6af9d93a621f33172d1b3219e0d650edd91ee16e876098bf305cb2d27", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6238, + "data_offset": 8298496, + "gid": 0, + "header_offset": 8297984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h", + "sha256": "687795657e77a2e1105c5b92cb43e3c1de4a4ee53adcabe25ceceebbac42bb1d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6565, + "data_offset": 8305664, + "gid": 0, + "header_offset": 8305152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h", + "sha256": "394ea5f83e88fdb19768e37b092e72117a9c1cb60e0af28042372d18fe702f47", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 29828, + "data_offset": 8312832, + "gid": 0, + "header_offset": 8312320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h", + "sha256": "13a470f159f7f31c4495af6fc4ac50d7d82d8e31555ced66ae4444ddb261df84", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1039, + "data_offset": 8343552, + "gid": 0, + "header_offset": 8343040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h", + "sha256": "2a1314704e22f2752d1cf83d62ead4d5eb416839b438c4cad9410e5483b2a72a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2846, + "data_offset": 8345600, + "gid": 0, + "header_offset": 8345088, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h", + "sha256": "66de3aed44d510172a51dcd99cb2445354d12fa5c09fde43eb4048e5e2f32897", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2034, + "data_offset": 8349184, + "gid": 0, + "header_offset": 8348672, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h", + "sha256": "234685ba8f567bf512c870e4cc462249937cb9c50c4845c8159009b827e2af03", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5099, + "data_offset": 8351744, + "gid": 0, + "header_offset": 8351232, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h", + "sha256": "7052fef7a6781651860182890449787cddc5731f2e8a8b34ec9d3dc576873e67", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3695, + "data_offset": 8357376, + "gid": 0, + "header_offset": 8356864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h", + "sha256": "16e3d55112b0e7911eba6dad328e1a25fe4c607e35b6c33349b742db6a8a0960", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1491, + "data_offset": 8361984, + "gid": 0, + "header_offset": 8361472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h", + "sha256": "9665167dd0003d60d4b72880ce61a477f1560c972d6097a2cdaa24e03d6cacd2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4744, + "data_offset": 8364032, + "gid": 0, + "header_offset": 8363520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h", + "sha256": "c8ea502e9cd745da74c655fcfad7df2fc43733bb808d3742b7125715cc41cdbf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27511, + "data_offset": 8369664, + "gid": 0, + "header_offset": 8369152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h", + "sha256": "04876299a21be45ce7543996f24d0c327114b657f59bf5736fa2fd48037724d2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2076, + "data_offset": 8397824, + "gid": 0, + "header_offset": 8397312, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h", + "sha256": "43d5903da1b24590ca92a4d3823de558f100d39ad9b7efc1ca11b28c82473eff", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5041, + "data_offset": 8400896, + "gid": 0, + "header_offset": 8400384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h", + "sha256": "367e3314b662a799a41d0403d2bb530aef3a8717e6e02908a6c51a89d1785a85", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3734, + "data_offset": 8406528, + "gid": 0, + "header_offset": 8406016, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h", + "sha256": "7223c38982d25c4f205f961f82c6a2aa95fadcae197b96a5f75d6d0eb635820c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27679, + "data_offset": 8411136, + "gid": 0, + "header_offset": 8410624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def", + "sha256": "0968daba86d57430f56d28c37c797431ff3dc3efb11142562d9fa08d68dd86f0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 42057, + "data_offset": 8439808, + "gid": 0, + "header_offset": 8439296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h", + "sha256": "18acfc4265c88125ae0a190e31c2e865a7726c9fdcc057990e7bfeaa6e62c56c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4265, + "data_offset": 8482816, + "gid": 0, + "header_offset": 8482304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h", + "sha256": "42926ae26ac08524751c635312c73d9e6fd6e95d05a61656ebc6bd0663a4fbf1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3413, + "data_offset": 8487936, + "gid": 0, + "header_offset": 8487424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h", + "sha256": "91615ca3c302e3d40c9eba9df5829ef15e0f6346c7ef57d85ed1a6179d181860", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4060, + "data_offset": 8492032, + "gid": 0, + "header_offset": 8491520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h", + "sha256": "614946cc27b8d6b45efdebd6b8b92bba70b65161ad0e963f64891c106bd1ab62", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5385, + "data_offset": 8496640, + "gid": 0, + "header_offset": 8496128, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def", + "sha256": "86f6e27cf0de4f2b3b85faed07421312087dbf34ab1da0dfe0adc3aa0387ed1d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 324195, + "data_offset": 8502784, + "gid": 0, + "header_offset": 8502272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def", + "sha256": "4b09a0f3c94866ecfdaedcdf645e2e469a787b145dfc4bd3139e91a3cc5d4b7b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9322, + "data_offset": 8827904, + "gid": 0, + "header_offset": 8827392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h", + "sha256": "196b78a30e006a4e6a4aa213a5b9f60dac0939ad7f7f60ce6418374488efca6c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 14065, + "data_offset": 8838144, + "gid": 0, + "header_offset": 8837632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h", + "sha256": "63f067f4e08cbe1c4163e72263ab11db4f40904456a14f19a7ebac777db5154a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18489, + "data_offset": 8852992, + "gid": 0, + "header_offset": 8852480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def", + "sha256": "ad36ee0acd2323014fd3030bed61940b5701eee1ac0aabbe8779eb444e443792", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7825, + "data_offset": 8872448, + "gid": 0, + "header_offset": 8871936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h", + "sha256": "2503c672b155608463651164ec3b7920ef9e3c3aedf327579890e6f6dea53747", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15692, + "data_offset": 8881152, + "gid": 0, + "header_offset": 8880640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h", + "sha256": "9ab00124c52294df63f666481b6201303792fd97155d67981bc74594ddf9157c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1184, + "data_offset": 8897536, + "gid": 0, + "header_offset": 8897024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "sha256": "d384ae33a23985613c839280f1b4845b3415c055e32209c6bc795a4d594f018f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 178, + "data_offset": 8899584, + "gid": 0, + "header_offset": 8899072, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "sha256": "d8729f976710961c7d34afc545be1c22dfb654be3425ce379511c6f837979141", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2853, + "data_offset": 8900608, + "gid": 0, + "header_offset": 8900096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h", + "sha256": "94db68428a4204367beebe06af7039204b0a1585b192dbe3fbc9e2c2e48aca3e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 903, + "data_offset": 8904192, + "gid": 0, + "header_offset": 8903680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h", + "sha256": "70fc64b69e8c6e69ba860d3611bff17183fac32f2d2a6050383d1627f87aef08", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1937, + "data_offset": 8905728, + "gid": 0, + "header_offset": 8905216, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h", + "sha256": "48614ce6d1de0747f00f7e7d6688194aaee8b1cc95e198b8b9081f0001c0bef3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3892, + "data_offset": 8908288, + "gid": 0, + "header_offset": 8907776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h", + "sha256": "a3d786765e5e8c9db578aa39b36f0ace394eb235d89c9b84709b4283e99ee361", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5902, + "data_offset": 8912896, + "gid": 0, + "header_offset": 8912384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h", + "sha256": "d30ad2d326dc52920c97453044915ce687b15493d08c80bc4e14e7e8ff2ad510", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1207, + "data_offset": 8919552, + "gid": 0, + "header_offset": 8919040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h", + "sha256": "24615be2b839893f983c6bd916065b7dbf708f5a8517c5905d8571d6527fa81e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 23198, + "data_offset": 8921600, + "gid": 0, + "header_offset": 8921088, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h", + "sha256": "81664ae9afd3c1ecd324c6bbdea316238e0ea2c088d7f01b71904d633725a39d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7260, + "data_offset": 8945664, + "gid": 0, + "header_offset": 8945152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h", + "sha256": "67399acc52c905646efc22970c64b744431ad89781dd5fe471ef0b2705bdb928", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 69861, + "data_offset": 8953856, + "gid": 0, + "header_offset": 8953344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h", + "sha256": "72c8a34ea0beb747d9b4ae82cc8c206dce09ed0de5b6a2e0e147df7c959274dc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 25753, + "data_offset": 9024512, + "gid": 0, + "header_offset": 9024000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h", + "sha256": "b5db489b124efdadac5fdb41ae52b43b833e2068bfe30e8d7bb32378ebebe324", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1898, + "data_offset": 9051136, + "gid": 0, + "header_offset": 9050624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h", + "sha256": "e2682f2108c770b4cff558b4a94f34e727b63bc27952e35bb429d8bc10e9c45c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2740, + "data_offset": 9053696, + "gid": 0, + "header_offset": 9053184, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h", + "sha256": "686c6456f152eebb3165a614a7bb9a023c9288321b45deb8dc48fcc9b7001e71", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2882, + "data_offset": 9057280, + "gid": 0, + "header_offset": 9056768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h", + "sha256": "d47a731de33f8ec5b39d1766423dd09f2c96166a97136a9ef3d2d45db2219cf1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2494, + "data_offset": 9060864, + "gid": 0, + "header_offset": 9060352, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h", + "sha256": "175e52e40899cf68d11021d9003601f4504e3645f77ab5660c469d34295055c3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1248, + "data_offset": 9063936, + "gid": 0, + "header_offset": 9063424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h", + "sha256": "e849d35541688b86c31bc9b8f680644932badbe00390fa10012b1f278d2bdc76", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1922, + "data_offset": 9065984, + "gid": 0, + "header_offset": 9065472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h", + "sha256": "ee8dc16a1108fc9fd35fcd814fd4a46a4d91a3300199ebeee46cf6bd3d2b7dcb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 845, + "data_offset": 9068544, + "gid": 0, + "header_offset": 9068032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h", + "sha256": "4044e2f7b1a8b7c71ea1a4044ad475654b8deaa774515e79e93986b7ba22238f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8783, + "data_offset": 9070080, + "gid": 0, + "header_offset": 9069568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h", + "sha256": "94fd38febea66c112ae50f7a40614f9d6a4a6891ce1e0c2ce9fabaf7b5b7dba5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1967, + "data_offset": 9079808, + "gid": 0, + "header_offset": 9079296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h", + "sha256": "281eb66117fa6e31a1c2a8dec62e6b7cd89fd254fce5c0b661e7251c7413d636", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4209, + "data_offset": 9082368, + "gid": 0, + "header_offset": 9081856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h", + "sha256": "43f2b75441dddf1761845ccf1ba5801ec6cbe28c12b4d49247b6a0e28d0df0ee", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2239, + "data_offset": 9087488, + "gid": 0, + "header_offset": 9086976, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h", + "sha256": "3ab97eca2ae52177f8569ca13446c7e042ac120dd5e268f7a350729460cca265", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2743, + "data_offset": 9090560, + "gid": 0, + "header_offset": 9090048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h", + "sha256": "4fad928b3dc11362c2a40724cb2c57ab833a094289ed0a543769eafc8984884f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1119, + "data_offset": 9094144, + "gid": 0, + "header_offset": 9093632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h", + "sha256": "92d5051512088e6eec0cc59ac147f6341324424b3097b007cc6fdddc3f5bcedf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2731, + "data_offset": 9096192, + "gid": 0, + "header_offset": 9095680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h", + "sha256": "8f3c9e4aaa6c024e292ecec67bfd1f1dddc53a03ee3aa0d1800e8473ad2fd307", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 864, + "data_offset": 9099776, + "gid": 0, + "header_offset": 9099264, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h", + "sha256": "93e5e2a2451f179f82e0bbb9e05212f86409afc0c8819449907eee3ffbf7ba61", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 33360, + "data_offset": 9101312, + "gid": 0, + "header_offset": 9100800, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h", + "sha256": "5c0d48970ef2feff54f820cedbd2ec03ed4429ebe01fcd418a0798fa2cdeb732", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2233, + "data_offset": 9135616, + "gid": 0, + "header_offset": 9135104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h", + "sha256": "0e30ea4024a1137cfbc0a9f111a95af10b81229f382d5c78ab7f3a758b5df4b0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2611, + "data_offset": 9138688, + "gid": 0, + "header_offset": 9138176, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h", + "sha256": "55946e594a4411c6952e58ba0c48c0fc9b04f2d5343f4569c24e491a06c911a8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2639, + "data_offset": 9142272, + "gid": 0, + "header_offset": 9141760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h", + "sha256": "ac1fe4387efb0886401aab91be2a163eaef8e19d4c86edfc01ce7cabb46f2c89", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1257, + "data_offset": 9145856, + "gid": 0, + "header_offset": 9145344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h", + "sha256": "4de1ecd294cf8f170d9125bcc679e7e97cf6eddf196fbad815b1dcc09d7f0974", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1660, + "data_offset": 9147904, + "gid": 0, + "header_offset": 9147392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h", + "sha256": "2e5ee918aadfad4eab3110ac015b58f0a422322837428b820d0fcad31e6f7c2a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1370, + "data_offset": 9150464, + "gid": 0, + "header_offset": 9149952, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h", + "sha256": "fdcc413bd1c26e60ced05955775249adc50d845cc717e1232b771cbc46a10cd2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7908, + "data_offset": 9152512, + "gid": 0, + "header_offset": 9152000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h", + "sha256": "e480abea7e5453f93991d93b68eba5f24172cd5025edc69d1903ecaac3377ab4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1080, + "data_offset": 9161216, + "gid": 0, + "header_offset": 9160704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h", + "sha256": "4aa56ee7936b971cdcfcfe02d8e50b7c73898148d0b13c900998cce4b3e3826c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 925, + "data_offset": 9163264, + "gid": 0, + "header_offset": 9162752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h", + "sha256": "d57695859d946a0a08b6ba67647d9f019719e7ae28d00aafa9090bb1ffd23821", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 783, + "data_offset": 9164800, + "gid": 0, + "header_offset": 9164288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h", + "sha256": "39890e388df9c1e58ea3231fd8b62e83cdc94eacd9ca34697202432f512000fb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 866, + "data_offset": 9166336, + "gid": 0, + "header_offset": 9165824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h", + "sha256": "19e58e107972cbc4dd0c476501c9f22cfc8928e44656d5a0b63406a69fe1147f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1190, + "data_offset": 9167872, + "gid": 0, + "header_offset": 9167360, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h", + "sha256": "e3471ff30a880e9fb0b20536337e1c47ad81e95191a0d7a9d3f68769a446cc79", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9848, + "data_offset": 9169920, + "gid": 0, + "header_offset": 9169408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h", + "sha256": "7eb1f5add837f73a595b6f99be137f4504bc78a2545d5113a4ac04c7dd40aee7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1487, + "data_offset": 9180672, + "gid": 0, + "header_offset": 9180160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h", + "sha256": "27b4830de909093ea950ef749f2bec5262292e20085e9b3f03e9c7560cf355ac", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2216, + "data_offset": 9182720, + "gid": 0, + "header_offset": 9182208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h", + "sha256": "9180801003efef48b9ac6478249a61a2007cfbdb6ca6869bf6a843878ff04779", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3026, + "data_offset": 9185792, + "gid": 0, + "header_offset": 9185280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h", + "sha256": "7210f337e00c14ab24f5e12a0548fe10ddd9a116fab8a026d1d4af53a3d1756b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2892, + "data_offset": 9189376, + "gid": 0, + "header_offset": 9188864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h", + "sha256": "2dc61c12421e0fd2556fcbb4a3f09d983ec09487f443543dfd1f399e49970cdc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 948, + "data_offset": 9192960, + "gid": 0, + "header_offset": 9192448, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h", + "sha256": "d691cd0b7efc3973eb7643177b9fb7fc703f535f8d3a2feb8721769838e57fb1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3960, + "data_offset": 9194496, + "gid": 0, + "header_offset": 9193984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h", + "sha256": "a5952f0283876d4936a5f2d4b02986501eecb1648ae6df9aa1377cbe702b1c52", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4169, + "data_offset": 9199104, + "gid": 0, + "header_offset": 9198592, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h", + "sha256": "1999fca83931fd4e130324c8c322eeb584fc0ee93f2d5f792588fcc9b473f6ed", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1298, + "data_offset": 9204224, + "gid": 0, + "header_offset": 9203712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h", + "sha256": "6cc2f85619723a929dd0769d5072625b5fd8d50edc7421e70fff43edb7169d94", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10715, + "data_offset": 9206272, + "gid": 0, + "header_offset": 9205760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h", + "sha256": "321de0f0993e17553bb211f21edff5b4f1c11738d5551116f3b06a8393ce41f9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6924, + "data_offset": 9217536, + "gid": 0, + "header_offset": 9217024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h", + "sha256": "5fc7bd13d7161135656c45c6a9c7e3e2e76677cb871bd37306c2334a890cad9c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1524, + "data_offset": 9225216, + "gid": 0, + "header_offset": 9224704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h", + "sha256": "715849f809a9ec47d18dc8dce4bdef3b4e80327d0ffc711e4aca057142af2f34", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 917, + "data_offset": 9227264, + "gid": 0, + "header_offset": 9226752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h", + "sha256": "e56a2853b629f9b88dde117aca2213d76329ddcd20a88536abf9cbc0bf3e1828", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4235, + "data_offset": 9228800, + "gid": 0, + "header_offset": 9228288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h", + "sha256": "256730ffac7856335a8ac3a080822cecfa7f330d77377fb806c370c84869ba92", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4840, + "data_offset": 9233920, + "gid": 0, + "header_offset": 9233408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h", + "sha256": "d00fc4ff751939442bb13200c245be5c7ab180a7f72e7b319b20548e918612b3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3558, + "data_offset": 9239552, + "gid": 0, + "header_offset": 9239040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h", + "sha256": "cad297231afa3fe7cc90d66cd8507d13c037e5d1818e2b7d799b9a32d6e6efe9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4832, + "data_offset": 9243648, + "gid": 0, + "header_offset": 9243136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h", + "sha256": "9137c7fe117fec9307874e6171240c6187918b3196b22565af89ec9c944f5349", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1144, + "data_offset": 9249280, + "gid": 0, + "header_offset": 9248768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h", + "sha256": "5a26f5d6c0099b6f338ed8b99cc028567836d8efdc08e26af4fb513456cec2f2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4350, + "data_offset": 9251328, + "gid": 0, + "header_offset": 9250816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h", + "sha256": "e0eef442b4a28d84342c008c03db818e0321a1e86a2308d5ab3fdde9a2786b58", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 28402, + "data_offset": 9256448, + "gid": 0, + "header_offset": 9255936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h", + "sha256": "c57a807c586b9bc8badbeb0efca1998a5b02ddd772685fa45affa05d775d3ab5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4401, + "data_offset": 9285632, + "gid": 0, + "header_offset": 9285120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h", + "sha256": "4bf2efbba9eff4a89fc749d3e8eeeab4214413d01b7708fe398138fbbf445469", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 94603, + "data_offset": 9290752, + "gid": 0, + "header_offset": 9290240, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h", + "sha256": "d8c0f2d77952e655c40122a1f81d332bbbf3b60d8a0e6e35a65b709f9fa82018", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1736, + "data_offset": 9385984, + "gid": 0, + "header_offset": 9385472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h", + "sha256": "48a0510e236793b2b45f59b153f12e99e354ae7f522723859b6572c3890cf297", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 72523, + "data_offset": 9388544, + "gid": 0, + "header_offset": 9388032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def", + "sha256": "f70aa7747e4e7eb16e7b8e5b980ce7aad073f3eab04b0490b04757075751557f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 263001, + "data_offset": 9461760, + "gid": 0, + "header_offset": 9461248, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h", + "sha256": "e43b7e2a14af9d9f70d3665117a7c56022dc024e9d7d5342515480b661c1a4fb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2857, + "data_offset": 9725440, + "gid": 0, + "header_offset": 9724928, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def", + "sha256": "ff574f07a550c10b969f9bc6e807cff29dd42165f5b4576346d582f61eb977d2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2074, + "data_offset": 9729024, + "gid": 0, + "header_offset": 9728512, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h", + "sha256": "d510e8c6a7577927866daa8ac11d119c0053aed4fd06b36e69d46094ac142ee3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 876, + "data_offset": 9732096, + "gid": 0, + "header_offset": 9731584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h", + "sha256": "0d38c04e33b5148e3b942a927cc527426b78ac11ed3ceb4f3269b021f90aa016", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3858, + "data_offset": 9733632, + "gid": 0, + "header_offset": 9733120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h", + "sha256": "aca99131c169f3ad2b1dbdc9ea8212af4db1b60dea6504a4a898f3b709ee6fe8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1507, + "data_offset": 9738240, + "gid": 0, + "header_offset": 9737728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h", + "sha256": "79619807973c2ef13c659fa7b489d03b4f0d33999abdc6e764f24361d2b0175b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16565, + "data_offset": 9740288, + "gid": 0, + "header_offset": 9739776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h", + "sha256": "d0fa2a152a1ccae57677a247f8d3d0e0b7587b8c278b0a25599d93cfec060474", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2454, + "data_offset": 9757696, + "gid": 0, + "header_offset": 9757184, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h", + "sha256": "169467579ba4adbfd804265ac2bd7359ef16c79391fa6602f4d7f2033061bf6b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4631, + "data_offset": 9760768, + "gid": 0, + "header_offset": 9760256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h", + "sha256": "bb80a90527416b1719df1eb3f393a33a0dc0ea441192dacc83e58c69574f52da", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2013, + "data_offset": 9766400, + "gid": 0, + "header_offset": 9765888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h", + "sha256": "89196b6ff62143633c6a518df1836c04bb72e30afb08224e0dbdd75128069274", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4832, + "data_offset": 9768960, + "gid": 0, + "header_offset": 9768448, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h", + "sha256": "8d7d741b2c71b3c7e40e6391815f74052648c61c43ab79119776e74722dcba04", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5296, + "data_offset": 9774592, + "gid": 0, + "header_offset": 9774080, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h", + "sha256": "f1393db4cd32c375b0ce3214da19c2349b24b7fa74d40afa387df74e30927dd1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1408, + "data_offset": 9780736, + "gid": 0, + "header_offset": 9780224, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h", + "sha256": "8212903dda4dede929ebe9dce14e52a435e858d377e1e2e32431d307f3a7c9c9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6554, + "data_offset": 9782784, + "gid": 0, + "header_offset": 9782272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h", + "sha256": "f6cde179c507cc69043d9dd279051d105070ac06dcda4b053e85b0c24763e3b4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 35834, + "data_offset": 9789952, + "gid": 0, + "header_offset": 9789440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h", + "sha256": "7e3b1ccb1268f0a3068503204f0de815e4bf7744b1c519f47f1a9673e10a3188", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17660, + "data_offset": 9826304, + "gid": 0, + "header_offset": 9825792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h", + "sha256": "803a42ad4f6efc53d2e7da1e0860f2bf1431e30a274e2208d32c4c8db4609005", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3366, + "data_offset": 9844736, + "gid": 0, + "header_offset": 9844224, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h", + "sha256": "20af661619be8b238c7e86125de78ee17ff8c1df86ba14819bc2f5d8c5d236b8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5396, + "data_offset": 9848832, + "gid": 0, + "header_offset": 9848320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h", + "sha256": "1615a0e5983a6ae79f9cd34924a43c6b6bc5bc63cd0bd8f688775fc7b41c1b8f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 68181, + "data_offset": 9854976, + "gid": 0, + "header_offset": 9854464, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h", + "sha256": "3b4f5d131eaaf0b85bd32d96b745296829e8b041e51f3edef9b315d95778e84e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20401, + "data_offset": 9924096, + "gid": 0, + "header_offset": 9923584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h", + "sha256": "f8cd58ea9fb282c54da1234af84636a1c3a048ec945f994376afcbc4e752c505", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 885, + "data_offset": 9945088, + "gid": 0, + "header_offset": 9944576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h", + "sha256": "fe068e90580c6b374a6edac2c134b2c4180d393a0147e373cefa33cf2869d1cc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6525, + "data_offset": 9946624, + "gid": 0, + "header_offset": 9946112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h", + "sha256": "99071fb0b5ecdf2815fbbfe637ed7c4b89dcfa1e524c5b818af845ca0db0cbb3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3388, + "data_offset": 9953792, + "gid": 0, + "header_offset": 9953280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h", + "sha256": "47dd314e60d70600a3f8dcc7a7ac53510c59dce4a6d25adb57fda92e8b315201", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6900, + "data_offset": 9957888, + "gid": 0, + "header_offset": 9957376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h", + "sha256": "6bec4dbf6021c2e28cb381ac74f8fe642643c1b3089e0cf5ddd2adf96f672eb9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3351, + "data_offset": 9965568, + "gid": 0, + "header_offset": 9965056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h", + "sha256": "8ba13aba55db5db81c466ba6746d4f69f5d42fa2fc9b003bbbf5e85e9fe3ee06", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1410, + "data_offset": 9969664, + "gid": 0, + "header_offset": 9969152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h", + "sha256": "09fe308dede2d6b4440bfab52635e68e4d6530e9a63d49824dec7e67bd8a7d4e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 113480, + "data_offset": 9971712, + "gid": 0, + "header_offset": 9971200, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h", + "sha256": "f68d0a5f637239065ad46e0f6bcc840d3491e33b391ed85844eb1983b9d34f81", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1177, + "data_offset": 10085888, + "gid": 0, + "header_offset": 10085376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h", + "sha256": "586e49f5466bd85323f6b458ba8c1beb99bed3bfb5f62fbe8a2ad5bbb87c26b1", + "typeflag": "30", + "uid": 0 + } + ], + "full_C05": false, + "full_V03": false, + "missing_required": [], + "observed_utc": "2026-11-02T09:11:35.707930+00:00", + "original_execution": false, + "package": { + "association": "exact matching checksum rows in retained records", + "buildinfo_sha256": "6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83", + "bytes": 1451870, + "changes_sha256": "db40bf0222e18a133216deb061955adc3a54ef4ff6e1b4fe469ff8c404422b61", + "filename": "gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "sha256": "3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f", + "signature_verified": false + }, + "required_headers": { + "auto-host.h": { + "bytes": 59854, + "data_offset": 1458688, + "gid": 0, + "header_offset": 1458176, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "sha256": "9ada1fb9d8c6f4d39e950fc3dfcefb81767c418d924a7e254774bda30e5a4537", + "typeflag": "30", + "uid": 0 + }, + "b-header-vars": { + "bytes": 40843, + "data_offset": 1521152, + "gid": 0, + "header_offset": 1520640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "sha256": "2af4b5b1ac67ee4075226fe87c19e0926c430c9e560034da071e6581902623a5", + "typeflag": "30", + "uid": 0 + }, + "config.h": { + "bytes": 217, + "data_offset": 2425856, + "gid": 0, + "header_offset": 2425344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "sha256": "41150681fe15436d17aa3a0b45b57345a65238fb945b14b0ca2bdf857e723e48", + "typeflag": "30", + "uid": 0 + }, + "configargs.h": { + "bytes": 1640, + "data_offset": 2426880, + "gid": 0, + "header_offset": 2426368, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "sha256": "987c0a46b31907a609c15c749988921053bdf81e77d3a695c981d7be7a9378fc", + "typeflag": "30", + "uid": 0 + }, + "defaults.h": { + "bytes": 42136, + "data_offset": 3017216, + "gid": 0, + "header_offset": 3016704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "sha256": "012ff1fece4d6d52b00647a49472045054094afa11637d7d5fdaced73ab95eae", + "typeflag": "30", + "uid": 0 + }, + "distro-defaults.h": { + "bytes": 488, + "data_offset": 3181568, + "gid": 0, + "header_offset": 3181056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "sha256": "2ccde3e3cbe4fc9fba8da310295f775d5bd77d9742090f74708f4ff24f683f6d", + "typeflag": "30", + "uid": 0 + }, + "options.h": { + "bytes": 504497, + "data_offset": 6825984, + "gid": 0, + "header_offset": 6825472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3", + "typeflag": "30", + "uid": 0 + }, + "tm.h": { + "bytes": 1184, + "data_offset": 8897536, + "gid": 0, + "header_offset": 8897024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "sha256": "d384ae33a23985613c839280f1b4845b3415c055e32209c6bc795a4d594f018f", + "typeflag": "30", + "uid": 0 + }, + "tm_p.h": { + "bytes": 178, + "data_offset": 8899584, + "gid": 0, + "header_offset": 8899072, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "sha256": "d8729f976710961c7d34afc545be1c22dfb654be3425ce379511c6f837979141", + "typeflag": "30", + "uid": 0 + } + }, + "schema": "unit03-plugin-payload-v1", + "source_build_correspondence": "publisher same-build association; generated output bytes observed, no regeneration or complete installed query semantics proof", + "tar_members": { + "control.tar.zst": [ + { + "bytes": 0, + "data_offset": 512, + "gid": 0, + "header_offset": 0, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": ".", + "raw_path": ".", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 684, + "data_offset": 1024, + "gid": 0, + "header_offset": 512, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "control", + "raw_path": "./control", + "sha256": "4bc09829ffea727e7f43f6b14150798e1e784a3dd2b48adef5b578b9aedfa1bd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 45223, + "data_offset": 2560, + "gid": 0, + "header_offset": 2048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "md5sums", + "raw_path": "./md5sums", + "sha256": "3f23ce0979a27ac4a8d8e178468e1565055e44935f381ffe9bcb4c103e0a5f68", + "typeflag": "30", + "uid": 0 + } + ], + "data.tar.zst": [ + { + "bytes": 0, + "data_offset": 512, + "gid": 0, + "header_offset": 0, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": ".", + "raw_path": ".", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 1024, + "gid": 0, + "header_offset": 512, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr", + "raw_path": "./usr", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 1536, + "gid": 0, + "header_offset": 1024, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib", + "raw_path": "./usr/lib", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2048, + "gid": 0, + "header_offset": 1536, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc", + "raw_path": "./usr/lib/gcc", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2560, + "gid": 0, + "header_offset": 2048, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 3072, + "gid": 0, + "header_offset": 2560, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 3584, + "gid": 0, + "header_offset": 3072, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 1370179, + "data_offset": 4096, + "gid": 0, + "header_offset": 3584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/gtype.state", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/gtype.state", + "sha256": "4cdd12d283b7067cc913425d4170f6912a7313c4b17a46eef1547fbec7cabc42", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 1375232, + "gid": 0, + "header_offset": 1374720, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 1375744, + "gid": 0, + "header_offset": 1375232, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 1376256, + "gid": 0, + "header_offset": 1375744, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 4978, + "data_offset": 1376768, + "gid": 0, + "header_offset": 1376256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def", + "sha256": "023fa7450452b94ef3d2c508b2a378e59d8688f30699769ce0ed6d2bfeceac48", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2945, + "data_offset": 1382400, + "gid": 0, + "header_offset": 1381888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h", + "sha256": "f3d9edb2e4328d6c9619e835b87b5e3f6e14d4ede997bbb73d1bff083c80bc00", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2184, + "data_offset": 1385984, + "gid": 0, + "header_offset": 1385472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h", + "sha256": "c5b72a9516a7eca30a957d1f76cc7c8a932e0a28583b3098e99375a9b25f5c88", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2507, + "data_offset": 1389056, + "gid": 0, + "header_offset": 1388544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h", + "sha256": "4c9ae2bac830bd5024c670a17296f902aa9bba4584c30317f02eb5fbcb1526e7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 224, + "data_offset": 1392128, + "gid": 0, + "header_offset": 1391616, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def", + "sha256": "bcad5255616b42ac69bbb250184c8cce7e020d1330397fd22d78c8daea826a15", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15524, + "data_offset": 1393152, + "gid": 0, + "header_offset": 1392640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h", + "sha256": "536ca12849b965f7516424aff8e05cbbb54b802eb29c92f548af3217c3fcde32", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11777, + "data_offset": 1409536, + "gid": 0, + "header_offset": 1409024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h", + "sha256": "06716406a6cd33f5bf987864ce2ffe27a5977393bfb28b7ce87621a67e05f91d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1535, + "data_offset": 1422336, + "gid": 0, + "header_offset": 1421824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h", + "sha256": "af336c61ed00f1362de0043ceb92f06fe5f7360f2f4a11bfb5c8ba92702fd57e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8837, + "data_offset": 1424384, + "gid": 0, + "header_offset": 1423872, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h", + "sha256": "7c9f6f7fe091d89eb48ead7aaf5bc26a177a90c4e76739e1839c88cfbb70f023", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8716, + "data_offset": 1434112, + "gid": 0, + "header_offset": 1433600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h", + "sha256": "f45972c3926988376dacf76a0003996a5a7a1dd26397380774d9c810aae3eab7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13872, + "data_offset": 1443840, + "gid": 0, + "header_offset": 1443328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h", + "sha256": "ce4072bfd29536a4b8e91c985f19ae31a3b7650b4f0ce2f06c291551693b0d77", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 59854, + "data_offset": 1458688, + "gid": 0, + "header_offset": 1458176, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "sha256": "9ada1fb9d8c6f4d39e950fc3dfcefb81767c418d924a7e254774bda30e5a4537", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1143, + "data_offset": 1519104, + "gid": 0, + "header_offset": 1518592, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h", + "sha256": "8527a175c79dba1a8a8f77b128e6cd4adf210d6a13bf7f21324f2a75044bdcfa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 40843, + "data_offset": 1521152, + "gid": 0, + "header_offset": 1520640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "sha256": "2af4b5b1ac67ee4075226fe87c19e0926c430c9e560034da071e6581902623a5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1067, + "data_offset": 1562624, + "gid": 0, + "header_offset": 1562112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h", + "sha256": "a769348fbcf2cc4f62cb4104535b37328472ff6679e9d4ebd7525a91b1ac4f9f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18619, + "data_offset": 1564672, + "gid": 0, + "header_offset": 1564160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h", + "sha256": "f2619ee16c3a42f950b0b427af2956dcbf2a22fb7041fd43b529331fbd3ca4bf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1277, + "data_offset": 1584128, + "gid": 0, + "header_offset": 1583616, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h", + "sha256": "e7d3be61e74749602b32d77554f5d56de18f5ef167867b250e482e64406a8f17", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 37570, + "data_offset": 1586176, + "gid": 0, + "header_offset": 1585664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h", + "sha256": "fdd9be6d48e92ca2fcd053c56c3e746d120745f51fe1acbc1f4490ffb54156db", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20110, + "data_offset": 1624576, + "gid": 0, + "header_offset": 1624064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def", + "sha256": "fdc2318336bbbd9a51502898c6b46e625ead62fe907aad576f35f7569fd8b26a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 53342, + "data_offset": 1645568, + "gid": 0, + "header_offset": 1645056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def", + "sha256": "a7e984fe65c232e518c037d5bb4d16cf74e8f81738eed401492248b164196264", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 95755, + "data_offset": 1699840, + "gid": 0, + "header_offset": 1699328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def", + "sha256": "bbd89bafc02c73b4ec6b15b4322fc517fa8fe58ded45a747892b0e4f12d78d0b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7200, + "data_offset": 1796608, + "gid": 0, + "header_offset": 1796096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h", + "sha256": "15c5c27a7b2e9be79373d761604f12a4ed74d3504778d4a2469f0356807fca79", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 171, + "data_offset": 1804800, + "gid": 0, + "header_offset": 1804288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h", + "sha256": "8ad05936a160214baea3c8aadede4475fdf3ece6962f85e61e962fd6590b11ef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 1805824, + "gid": 0, + "header_offset": 1805312, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 4172, + "data_offset": 1806336, + "gid": 0, + "header_offset": 1805824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def", + "sha256": "4385cc13d39e61053458f6d79ab7626c136c03b58976d613a33732351c295f18", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 59318, + "data_offset": 1811456, + "gid": 0, + "header_offset": 1810944, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h", + "sha256": "d5498885fbcd854b4c26f557501490d5e00b40c549270d10b7bc11a9320ed7f7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8033, + "data_offset": 1871360, + "gid": 0, + "header_offset": 1870848, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h", + "sha256": "460eb8b3721b06a7d87e4f19083d96ba7a78a56ab312b5a68d659ec42420195a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9549, + "data_offset": 1880064, + "gid": 0, + "header_offset": 1879552, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h", + "sha256": "14a75ae7cdb8b0e84b4269f0afb2f8dbf429e840ec42f609511602da8e8da98a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5324, + "data_offset": 1890304, + "gid": 0, + "header_offset": 1889792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h", + "sha256": "fc1bd1ad525e0ee3b6b481b8038aad31b98fe8dbebb1f3ffcea9e75987c45d82", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 35134, + "data_offset": 1896448, + "gid": 0, + "header_offset": 1895936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h", + "sha256": "bdd621639433a009ef8ab0204f78ba4020c9f6357b246234f6bf3939017cceaa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5291, + "data_offset": 1932288, + "gid": 0, + "header_offset": 1931776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h", + "sha256": "188f6dd04a978928c8ef21b6a6ec30b467d57da3e3b1c8d9828aa1023a32d830", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 845, + "data_offset": 1938432, + "gid": 0, + "header_offset": 1937920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h", + "sha256": "84864c1ceac3d4e5a8dcde662ce2ca9652fa687d7df61c1b1a73d68193b874ef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6828, + "data_offset": 1939968, + "gid": 0, + "header_offset": 1939456, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def", + "sha256": "f5566f1fab9f1589b2c7b9d96c9b73dcbc02523f686bc264d07c3d03a9efd8fb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6429, + "data_offset": 1947648, + "gid": 0, + "header_offset": 1947136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h", + "sha256": "2288eb67df53ccfcdff79d0a9d8fb690f06c2de84e5bd5c2c1b307f371c635b6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3473, + "data_offset": 1954816, + "gid": 0, + "header_offset": 1954304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h", + "sha256": "9d1626ebff3462fc9b4f8518ea47992e84dd112f63fe6e6b7fe31270ddcdecc5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1016, + "data_offset": 1958912, + "gid": 0, + "header_offset": 1958400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h", + "sha256": "75674de6ab66278b0b0991e2ba376482c273b2f7e8d025650a85e5285a2b598e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1303, + "data_offset": 1960448, + "gid": 0, + "header_offset": 1959936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h", + "sha256": "cb1dfd9de683927cbaae3e207f0aa98aeb07cab5147180017dd7a11cc9fc8a78", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 966, + "data_offset": 1962496, + "gid": 0, + "header_offset": 1961984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h", + "sha256": "d9b617983dc0a9ab8d4b648c63ff0b633b7e2f81768cde0dc36368f46c34e3a1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11428, + "data_offset": 1964032, + "gid": 0, + "header_offset": 1963520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h", + "sha256": "1fdd54693186cb5c8abf38667ac146e94bc69164049da65bd34275b7fcf85da0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27914, + "data_offset": 1976320, + "gid": 0, + "header_offset": 1975808, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h", + "sha256": "fe09467eea2c176f44e53a0d369d18ad6a489620dd18b426d1d3c40e6f095167", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2499, + "data_offset": 2004992, + "gid": 0, + "header_offset": 2004480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h", + "sha256": "d5287436e49903f67cfbb8137e0a028a5a541df43b0252023d37ae17a9491226", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2688, + "data_offset": 2008064, + "gid": 0, + "header_offset": 2007552, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h", + "sha256": "3ccab97cd645994aecb66045edb13b71017dbf012ee086b97cd6dcb22781be99", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 124842, + "data_offset": 2011648, + "gid": 0, + "header_offset": 2011136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h", + "sha256": "77b643cde2dc6c81e6e28d3265c05dd1ddb4c99d9b37841901a35edc08e8e612", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5632, + "data_offset": 2137088, + "gid": 0, + "header_offset": 2136576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def", + "sha256": "f27acb01a17cc0c62c01aa4982155115bfd69deeec1766e3c26cd630973d2405", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1694, + "data_offset": 2143232, + "gid": 0, + "header_offset": 2142720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h", + "sha256": "69db322f7d423f2e7bfcdf0ccae1c90c3853c69ac8c209c0e894d6784f0d19b7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8594, + "data_offset": 2145792, + "gid": 0, + "header_offset": 2145280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h", + "sha256": "7870fdbea37370be7ec92824a4fe4e7c24bfe62767b448801efccfa0f83df7bd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1308, + "data_offset": 2155008, + "gid": 0, + "header_offset": 2154496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h", + "sha256": "ffc4a02f68215b91971535d2569ddb46c65626f83aad16bb9d7cc5e31280e10d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4891, + "data_offset": 2157056, + "gid": 0, + "header_offset": 2156544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h", + "sha256": "baa85177f344454041d22b1147ed169ab68064beb0cd4a7adfc8fcbeefca7b3f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2162688, + "gid": 0, + "header_offset": 2162176, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2163200, + "gid": 0, + "header_offset": 2162688, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2163712, + "gid": 0, + "header_offset": 2163200, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 6023, + "data_offset": 2164224, + "gid": 0, + "header_offset": 2163712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h", + "sha256": "5bab14b3fb8ef807879c249b52041d158c3983e5c149f175cdc7aacb865f188a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2766, + "data_offset": 2170880, + "gid": 0, + "header_offset": 2170368, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h", + "sha256": "15954fefc8d00dd5d2a3ceaf17f957a78bcf08ca25681703fba345649bf4c97a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2174464, + "gid": 0, + "header_offset": 2173952, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 17996, + "data_offset": 2174976, + "gid": 0, + "header_offset": 2174464, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h", + "sha256": "255fe5da07efc03e66574ab45a1c92deb4ed7cc064f83677e1cae109065b8354", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2854, + "data_offset": 2193920, + "gid": 0, + "header_offset": 2193408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h", + "sha256": "45e61be0214122daed3ce73a9edec9709c8d1b191a424ed6efd6db4d5b31f032", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6054, + "data_offset": 2197504, + "gid": 0, + "header_offset": 2196992, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "sha256": "8f3518bc748dd1f7c1f19bcc2d59201405b5a599820256ff1ecdf9ea63392daf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2204160, + "gid": 0, + "header_offset": 2203648, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 3186, + "data_offset": 2204672, + "gid": 0, + "header_offset": 2204160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h", + "sha256": "48cc90a7598d0ab51a85b0cf3143f187610754da7c47ecd9ac463f2c9d5cec29", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1293, + "data_offset": 2208768, + "gid": 0, + "header_offset": 2208256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h", + "sha256": "a6fe8538bcc4db531f57ddb5b80d28e09b05c875e497f58542ff7fa4252cdfef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2629, + "data_offset": 2210816, + "gid": 0, + "header_offset": 2210304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h", + "sha256": "14a738ecc63fc02ceb153060c87722d3417ebf5564ca7889f2f27c742f20285c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3309, + "data_offset": 2214400, + "gid": 0, + "header_offset": 2213888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "sha256": "5507732a24911a39abbf7d2526fd8c1b09db98c0519b7388b7143a3c01bdbccb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2399, + "data_offset": 2218496, + "gid": 0, + "header_offset": 2217984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def", + "sha256": "d4d39a44bc16d20dc2c8a10ad4b70156a548e2d38a32fda01811a253d8f4952a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3322, + "data_offset": 2221568, + "gid": 0, + "header_offset": 2221056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h", + "sha256": "84ae505f2aeabbece530164dbefa82465b943331e490bb73ce40d088d9879ce9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17536, + "data_offset": 2225664, + "gid": 0, + "header_offset": 2225152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h", + "sha256": "d5a24ab0e669449ec51b483c5472cdf185ce5804c56d014103cee611eabc65df", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 113489, + "data_offset": 2244096, + "gid": 0, + "header_offset": 2243584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h", + "sha256": "55f2cea099e92f2bc0649599d708726fab531a10e9ee15456af35a4975599d21", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2346, + "data_offset": 2358272, + "gid": 0, + "header_offset": 2357760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h", + "sha256": "eb6e3de8ee383f691f2b83c0cdafe8f1687c06c703f0854623dc71569304622b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1669, + "data_offset": 2361344, + "gid": 0, + "header_offset": 2360832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "sha256": "9007684d92746203c280b53a69debfff75851e31c1cd9ce6cd5c61f705d5179c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1040, + "data_offset": 2363904, + "gid": 0, + "header_offset": 2363392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def", + "sha256": "ca5f3b59774dade073e1fc95a86c933634b8407437f250a7882fa762967f158d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2878, + "data_offset": 2365952, + "gid": 0, + "header_offset": 2365440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h", + "sha256": "f6896474c5b3fbc38927276acb79abc519e71b98bba82a614cd05052c24cee28", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2982, + "data_offset": 2369536, + "gid": 0, + "header_offset": 2369024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h", + "sha256": "fecefad6255ddd8d60d9f3b546024a93db37dce7ccf277668de35336ce837471", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 33406, + "data_offset": 2373120, + "gid": 0, + "header_offset": 2372608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def", + "sha256": "864bcae5ff7ba9991e056b5b8dbbe257b2169ac2996bfcd65aab3e80054f9bf3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1625, + "data_offset": 2407424, + "gid": 0, + "header_offset": 2406912, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h", + "sha256": "3b824fa8ab2a86c5b8e5a72b4c868e569780d5e867d80755538e483cdf04b4ab", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1947, + "data_offset": 2409984, + "gid": 0, + "header_offset": 2409472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h", + "sha256": "875e34fffe6e6bf06cecb83c1edfc221c6bb61a096ef38c60abe63914c72d297", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 811, + "data_offset": 2412544, + "gid": 0, + "header_offset": 2412032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h", + "sha256": "4240c4b506975f484248da9a3c668aacd837dba532be7d6d174f40405c9561af", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8504, + "data_offset": 2414080, + "gid": 0, + "header_offset": 2413568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "sha256": "ce71be1f80fac59483042c6dd421bd267765c44f977505955b2718e30da612c4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1611, + "data_offset": 2423296, + "gid": 0, + "header_offset": 2422784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h", + "sha256": "f86e24a101cf141fab63458b812e0aed5bde16850a24d1045f6cebbc2977f3cc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 217, + "data_offset": 2425856, + "gid": 0, + "header_offset": 2425344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "sha256": "41150681fe15436d17aa3a0b45b57345a65238fb945b14b0ca2bdf857e723e48", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1640, + "data_offset": 2426880, + "gid": 0, + "header_offset": 2426368, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "sha256": "987c0a46b31907a609c15c749988921053bdf81e77d3a695c981d7be7a9378fc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1732, + "data_offset": 2429440, + "gid": 0, + "header_offset": 2428928, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h", + "sha256": "aafa561687a1cc40f753d8085f357a82db14b291f195e98f7409606439004c94", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1848, + "data_offset": 2432000, + "gid": 0, + "header_offset": 2431488, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h", + "sha256": "b37b99a1b2bb94e6267ac860b76683eea2ce19e53b51ec0899ac5b1c5b97b2c2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15197, + "data_offset": 2434560, + "gid": 0, + "header_offset": 2434048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h", + "sha256": "169d3b325ba9957aa6dc3953bb26dfed3bed2618950585f1891d4ab9375def21", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1927, + "data_offset": 2450432, + "gid": 0, + "header_offset": 2449920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def", + "sha256": "9b7e57e064c7740d204e9bc19eda510646e3a0801978770e8eef3bf124e662a9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2308, + "data_offset": 2452992, + "gid": 0, + "header_offset": 2452480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h", + "sha256": "5e566a797e02c4abd09b0102310950625e8d325264a17fdbb0817448ca99bbf1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2456064, + "gid": 0, + "header_offset": 2455552, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 9714, + "data_offset": 2456576, + "gid": 0, + "header_offset": 2456064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h", + "sha256": "35d2eb58bf53d383c73d7c362148c2ff354fb2691ac0a86e65562757bf6ffdeb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4936, + "data_offset": 2466816, + "gid": 0, + "header_offset": 2466304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def", + "sha256": "c2ed08f00e4a126eb18bb8668fa966d8d66ebfdc57f65dcc4a66b607f0b3c252", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27148, + "data_offset": 2472448, + "gid": 0, + "header_offset": 2471936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def", + "sha256": "a3d582ccb91cae886555cfe3541283787a2659c1b310d5a4fed427cd54120563", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 350792, + "data_offset": 2500608, + "gid": 0, + "header_offset": 2500096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h", + "sha256": "78c10c94738de11dae4cba0de0e6c81b3f8f4431ca9b2b916d5812663af1020c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4883, + "data_offset": 2852352, + "gid": 0, + "header_offset": 2851840, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h", + "sha256": "533988176d9313b5e081e45c52f0ef1a86e9d518548fdf1f2ae56f2ff71b1a2f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18488, + "data_offset": 2857984, + "gid": 0, + "header_offset": 2857472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h", + "sha256": "3c012c6827b6efa1c9477ecb59b3147036888f0e0183614ef3a7847bad5c89b4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6848, + "data_offset": 2877440, + "gid": 0, + "header_offset": 2876928, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def", + "sha256": "5b3199c6d97f307cb6bbb296e30f7518900548c12d1c8f45699e4e54bd40d2a1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1877, + "data_offset": 2885120, + "gid": 0, + "header_offset": 2884608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h", + "sha256": "3d0f20f1400cbef0786ee4871e656a20a4ab80315641b11e4efddaa79c016888", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1174, + "data_offset": 2887680, + "gid": 0, + "header_offset": 2887168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h", + "sha256": "172a64e3f9a2dc4d2b05bcb3e16716336160ebd801cc17bbde02c81232a9407f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2987, + "data_offset": 2889728, + "gid": 0, + "header_offset": 2889216, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h", + "sha256": "d105e4f83c7403684db87493b30f52304d6a7c4a3ada1f56d3d2fa1d565e007c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 57534, + "data_offset": 2893312, + "gid": 0, + "header_offset": 2892800, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h", + "sha256": "2b9fc43ca45c7d844989c3a04dc311885a3b3537d25166d293a0ec092461bdc0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4592, + "data_offset": 2951680, + "gid": 0, + "header_offset": 2951168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h", + "sha256": "3e3f877bf198338a5bec51c76e87351f246abb69088e7531fef51db2c80e7c84", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15687, + "data_offset": 2956800, + "gid": 0, + "header_offset": 2956288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h", + "sha256": "96197421f357e1e3b007a1757b6f77bb3d76800f453527fb62f547523669d3bc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2973184, + "gid": 0, + "header_offset": 2972672, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 1386, + "data_offset": 2973696, + "gid": 0, + "header_offset": 2973184, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def", + "sha256": "a07d2e1d5354fef980d33ad14614b445cb1246e3b3222d8dc27eb443f502d484", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10999, + "data_offset": 2975744, + "gid": 0, + "header_offset": 2975232, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h", + "sha256": "e5b02a3dfb361820a5b24fc1710b38666626cc13fb78311332d1ae601a13a873", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6668, + "data_offset": 2987520, + "gid": 0, + "header_offset": 2987008, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def", + "sha256": "68d2ba3391fbcd277d748eecd075b18f8610539a7c4600ac49dbd46b18a17cfc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1229, + "data_offset": 2995200, + "gid": 0, + "header_offset": 2994688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h", + "sha256": "e5f9da2c42dfc0ce09a321a7fb324a63b0ff6c789d761191be58c1c8af7b8e05", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 877, + "data_offset": 2997248, + "gid": 0, + "header_offset": 2996736, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h", + "sha256": "0d029fe1379ceed3849f271390cc12c98359a16631da462f8ba5f12c9131bec8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5459, + "data_offset": 2998784, + "gid": 0, + "header_offset": 2998272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h", + "sha256": "2b647e04c726df5ed328fde718ce5b996366831578c0d1591bf38620be092a06", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11479, + "data_offset": 3004928, + "gid": 0, + "header_offset": 3004416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h", + "sha256": "d3ce98401f5216d6ff167a2701ac6547ef332e1a98eb933778526dd866b6aced", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 42136, + "data_offset": 3017216, + "gid": 0, + "header_offset": 3016704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "sha256": "012ff1fece4d6d52b00647a49472045054094afa11637d7d5fdaced73ab95eae", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 48230, + "data_offset": 3060224, + "gid": 0, + "header_offset": 3059712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h", + "sha256": "ce939e0a7ae288d5d5ed39993f69eca3b2696f8fd9d3d7ba1c8382a6a98fb14f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2361, + "data_offset": 3109376, + "gid": 0, + "header_offset": 3108864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h", + "sha256": "6550085e484d044a7f674ada222696b618520b3028cf2d5916a2e36916d523aa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3567, + "data_offset": 3112448, + "gid": 0, + "header_offset": 3111936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h", + "sha256": "8470edd627b9faa12436145be03125fb8d6359804f88d267056434bb9c1d4cca", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2302, + "data_offset": 3116544, + "gid": 0, + "header_offset": 3116032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h", + "sha256": "0f84d9affbe4c7be3f20b7594db32ac7a8b8b1a5ab6e90045b6e6eeef9cf2bdb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5214, + "data_offset": 3119616, + "gid": 0, + "header_offset": 3119104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h", + "sha256": "2a5d445b78fc1981fc32e9b1ec2ed84b26f7009459b05dc8086bb9dec2002a54", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2084, + "data_offset": 3125760, + "gid": 0, + "header_offset": 3125248, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h", + "sha256": "8f33443da1ae6a5b747ceb0a43f824a65ee10c5205ec3a8ce5909244300aa08d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2270, + "data_offset": 3128832, + "gid": 0, + "header_offset": 3128320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h", + "sha256": "aba695214641b9efe0623f1e9ab999d116912405a5cdccdf3f3b3dd3671b7983", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6885, + "data_offset": 3131904, + "gid": 0, + "header_offset": 3131392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h", + "sha256": "e97bc1cab6272b6aebeefabf0e53e6fbed508bcd82cb90b4fa814a3e92ebdab9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3628, + "data_offset": 3139584, + "gid": 0, + "header_offset": 3139072, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h", + "sha256": "0be5036f3162914a45a387f325f24ef7c00491f53f232053e9ac6e6c16827f05", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1587, + "data_offset": 3144192, + "gid": 0, + "header_offset": 3143680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h", + "sha256": "0e6546e3a19732b9522a15a54aa56f5e0c76ed691cb152ce96f2fd7b3f0926a8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2645, + "data_offset": 3146752, + "gid": 0, + "header_offset": 3146240, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def", + "sha256": "d13eaa301a150ba0415fb5cd8f5f22e001bdabccadb7b3a4a6b02dbaa42cd909", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22673, + "data_offset": 3150336, + "gid": 0, + "header_offset": 3149824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h", + "sha256": "94781ae0ab138d083f6679a1521071723de43930ad8ee077d58b2c165bbf4242", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6740, + "data_offset": 3173888, + "gid": 0, + "header_offset": 3173376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h", + "sha256": "5e6c941c7cfd22065c77c2d1f17af5c2658544e28805c7c3aabeb3f7da0d6d94", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 488, + "data_offset": 3181568, + "gid": 0, + "header_offset": 3181056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "sha256": "2ccde3e3cbe4fc9fba8da310295f775d5bd77d9742090f74708f4ff24f683f6d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3015, + "data_offset": 3182592, + "gid": 0, + "header_offset": 3182080, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h", + "sha256": "b1ed271ed0b8aa8a93f57d8977709d60a210c12b6cffadd8d6bf57dde9fe5b0f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3653, + "data_offset": 3186176, + "gid": 0, + "header_offset": 3185664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h", + "sha256": "961c8c913939e13d4852f3a570366c29fefdd40f0964dec97ee505f647586b8f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4558, + "data_offset": 3190784, + "gid": 0, + "header_offset": 3190272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h", + "sha256": "db08d680f9cdc82f5e28833151567a9d08822b83bb400427d085d870a0dc809b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13501, + "data_offset": 3195904, + "gid": 0, + "header_offset": 3195392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h", + "sha256": "82206f0bf9b69a31fc1a3b12fd8f49a872e58db4df289106580356a6fb688c06", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9321, + "data_offset": 3210240, + "gid": 0, + "header_offset": 3209728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h", + "sha256": "17d8b5525f58ed35c4464cdade8e6464ef9dee9ef256a0eccc4eaeeddc520ed2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 23434, + "data_offset": 3220480, + "gid": 0, + "header_offset": 3219968, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h", + "sha256": "9d27e3418748299347a59ab42ff93c640e520ea31e0c3c76c61f5b5f93654086", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3153, + "data_offset": 3244544, + "gid": 0, + "header_offset": 3244032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h", + "sha256": "1f6bf7e4d5ae00679873a10a3fe49b988fa4639b7260f875fb11230749d0c99c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1993, + "data_offset": 3248640, + "gid": 0, + "header_offset": 3248128, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h", + "sha256": "c114e1458772074b645a9f8c631afc9beffd0e229223576c3cdb340ab1827a2e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16250, + "data_offset": 3251200, + "gid": 0, + "header_offset": 3250688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h", + "sha256": "0303929170f719d93b6cdfb7087ad5382cda932518e1d46adf044675194f9936", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2189, + "data_offset": 3268096, + "gid": 0, + "header_offset": 3267584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h", + "sha256": "e98acf62a5e89d7bad5fc45b533abf35de9d9020217aec6f93bdbee51a7cf667", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20076, + "data_offset": 3271168, + "gid": 0, + "header_offset": 3270656, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h", + "sha256": "56b4b8df8e0985a35eccff9695b2b8da669369a358d36f50f82e82e9305cfc39", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1596, + "data_offset": 3292160, + "gid": 0, + "header_offset": 3291648, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h", + "sha256": "dfe0ce5c23a94e691cfc94d3a0acae1ae2dcc9b237b6ff7e1944429a90cec695", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1382, + "data_offset": 3294720, + "gid": 0, + "header_offset": 3294208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h", + "sha256": "0675494730bc2bc17b41e19765e4a96dc360a6fe451a1890ac23355988f46bff", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2693, + "data_offset": 3296768, + "gid": 0, + "header_offset": 3296256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h", + "sha256": "686244bfa730ce91232887f22bbb0b9413043a714424baffca2aa3bc90d6aea4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 12244, + "data_offset": 3300352, + "gid": 0, + "header_offset": 3299840, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h", + "sha256": "ac102cb63acafb40203090aeab74dacb8323bdfed728383112949911172bf4a4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5741, + "data_offset": 3313152, + "gid": 0, + "header_offset": 3312640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h", + "sha256": "fef76c10fe4494ebe014eb320ec641c97ffab633ce9adafbdda0e6c60e1cc5b7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 21038, + "data_offset": 3319808, + "gid": 0, + "header_offset": 3319296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h", + "sha256": "c75c31bdb6fe8e0dbf142fdc299f8f26ec9dff754664e457a49d1de84c6e481b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13805, + "data_offset": 3341824, + "gid": 0, + "header_offset": 3341312, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h", + "sha256": "ab3389f2a5105969867a2dec77eb92f5dd55cfb3c46d26342e5724ee8e47a4dd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16180, + "data_offset": 3356160, + "gid": 0, + "header_offset": 3355648, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h", + "sha256": "c82178ff485d0a61bdbd2450a9ee16caf57e83d98fd37e3326c53593c644e56e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1717, + "data_offset": 3373056, + "gid": 0, + "header_offset": 3372544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h", + "sha256": "0057ddd2bc41631e6069b900bbd34b7895c248d620da2ecde6a07d06d7c77b9a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1245, + "data_offset": 3375616, + "gid": 0, + "header_offset": 3375104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h", + "sha256": "fc606239667d9c5f0549db1d03e64bc1322d73072e92755dfcea9ea1556dde60", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3524, + "data_offset": 3377664, + "gid": 0, + "header_offset": 3377152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h", + "sha256": "93d972961c2d41445faa2ff3ac5ac4aa9f68ac332e31ca32dd77b08ad8830b60", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4155, + "data_offset": 3381760, + "gid": 0, + "header_offset": 3381248, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h", + "sha256": "2312325be7943854df0faade267a89b1454cec041e035614d0499f8ce3a8c538", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15499, + "data_offset": 3386880, + "gid": 0, + "header_offset": 3386368, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h", + "sha256": "5796693bde1e7f9686a857964835bdc7bef1ff9c3a597ef24c1bd8e2eb398d9c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3627, + "data_offset": 3403264, + "gid": 0, + "header_offset": 3402752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h", + "sha256": "52d3cc3697ccb7e70ed38655aee02914046ac9d11284278c2078c88df447d6ee", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1032, + "data_offset": 3407872, + "gid": 0, + "header_offset": 3407360, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h", + "sha256": "94afc3bfb186de354f97612522fd97b07d7b8a552d9d99665aec6804111dff21", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13407, + "data_offset": 3409920, + "gid": 0, + "header_offset": 3409408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h", + "sha256": "f440020333fb36bfc709dad7271c43fdb96229f041dcd9248fa3e30193207afd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11340, + "data_offset": 3424256, + "gid": 0, + "header_offset": 3423744, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h", + "sha256": "4a87c748bc1dbd27969a4ab1a1b50d44e512b3b6d939f07b582002be8c3bb0a9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 26167, + "data_offset": 3436544, + "gid": 0, + "header_offset": 3436032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h", + "sha256": "221af11d18566ae92ed7a523a9a334bc33b1b2b6621e1b30df86544c6c1ffafd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1247, + "data_offset": 3463680, + "gid": 0, + "header_offset": 3463168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h", + "sha256": "14da5c4c72e867d3143078d6b2a4552ea0f69ddc3dc56046cf971e02b5b38811", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6464, + "data_offset": 3465728, + "gid": 0, + "header_offset": 3465216, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h", + "sha256": "c2a70ac4254fb197cb9c67a8167accc6dff3c46f5e324545e325acfc78b446c7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 942, + "data_offset": 3472896, + "gid": 0, + "header_offset": 3472384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h", + "sha256": "1d32456e30d45648cc7c673b5b7164a41e6119336f1f2cd31bc99bf9b9be445a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3073, + "data_offset": 3474432, + "gid": 0, + "header_offset": 3473920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h", + "sha256": "9ccf4af910f55ed3437a891768f184b8b71f13ebf343de0d79c9feb7f073f409", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1894, + "data_offset": 3478528, + "gid": 0, + "header_offset": 3478016, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def", + "sha256": "0088739f71d5b35269c58a6bc6ada86054fb572f241fa349913d36596bb4310b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15775, + "data_offset": 3481088, + "gid": 0, + "header_offset": 3480576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h", + "sha256": "10ee424e78fa32a593879e9aee7cb6f6f40b00ef35d4bd10e7d880e0af7ec0d4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1418, + "data_offset": 3497472, + "gid": 0, + "header_offset": 3496960, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h", + "sha256": "5f157e267c71b120a95972b98cc484e9b7615ce3f8db491760c1d5a8ae735ce8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1497, + "data_offset": 3499520, + "gid": 0, + "header_offset": 3499008, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h", + "sha256": "bce4f75524046f39ccf160d8015b611f8e2a415814cbfe775c3abe6a66c1daa3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1256, + "data_offset": 3501568, + "gid": 0, + "header_offset": 3501056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h", + "sha256": "4115d7893cb95f4120f9ed831b1dd0388310ac85daeac5d23afaf91e2a8606a1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17392, + "data_offset": 3503616, + "gid": 0, + "header_offset": 3503104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h", + "sha256": "1018ca478ee084f9e62d3511e50ad23468fcfa97caedd07906f14da34a54235a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 47491, + "data_offset": 3521536, + "gid": 0, + "header_offset": 3521024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h", + "sha256": "42d108de1fa4567927e5723d516199b34fc863c06b219f8f7cf29361611eb392", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6973, + "data_offset": 3569664, + "gid": 0, + "header_offset": 3569152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h", + "sha256": "83d8a07bd756470d5dbdb9d25e3d3d2740752062d48ca0178b58212216f44ece", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3933, + "data_offset": 3577344, + "gid": 0, + "header_offset": 3576832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h", + "sha256": "c6d76d4363a59a8ad548d6617493eedf9c8602a80d5fa74607efe46f81fef84e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11339, + "data_offset": 3581952, + "gid": 0, + "header_offset": 3581440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h", + "sha256": "82f0910f755cf53737df25fb67a19575be886b82b8d689ccca100bb17419473e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1571, + "data_offset": 3594240, + "gid": 0, + "header_offset": 3593728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h", + "sha256": "fa88c5499e9b77f8661f20508ea78d9b818079251bc0e2744d40b1434f0b8542", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1503, + "data_offset": 3596800, + "gid": 0, + "header_offset": 3596288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h", + "sha256": "8c4d9b5570c51f4e801e26b0c293e11d3732fe37879a06b0ce4c6b4a98a07532", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5158, + "data_offset": 3598848, + "gid": 0, + "header_offset": 3598336, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h", + "sha256": "a4ec8bb41e137b5bb5d8ff884d791b4f5dce3b28b724591bc1784bf5ed65264d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10870, + "data_offset": 3604992, + "gid": 0, + "header_offset": 3604480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h", + "sha256": "b7eae6b1d5defa242a37fd7408b5fdde55fbeea2ee0aec8d9759540c936ca2c0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10423, + "data_offset": 3616768, + "gid": 0, + "header_offset": 3616256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h", + "sha256": "a961105f9d8903b0d79afde450c2a47f69b6eac9b97aebf77d13cd1c2d9400a6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 981, + "data_offset": 3628032, + "gid": 0, + "header_offset": 3627520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h", + "sha256": "69f3378a5afdc45a998194f4c708a567c789b2ce0c4fbe492c1bc40bbeabebd3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8983, + "data_offset": 3629568, + "gid": 0, + "header_offset": 3629056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h", + "sha256": "22962af6a3de149826a8e197ae153d7fffdf50f79dbd0845a794545f25286520", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4972, + "data_offset": 3639296, + "gid": 0, + "header_offset": 3638784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h", + "sha256": "49461de35bd6bb6448d29aad95b9388d1a036374727943cbebedd341b8e644ef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2530, + "data_offset": 3644928, + "gid": 0, + "header_offset": 3644416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h", + "sha256": "dbb82424051d2ab36ad938d31704898b92c0f8999c4aa5e3756c15380133458e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1662, + "data_offset": 3648000, + "gid": 0, + "header_offset": 3647488, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h", + "sha256": "0b5ae839465cfb6be8bb75a1a5c64cd41a0be40bc63c9f38fbae7a8f1afd1523", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4147, + "data_offset": 3650560, + "gid": 0, + "header_offset": 3650048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h", + "sha256": "2b2bb0081f8b72505e3ff1d2e25b6dab3c14a81755d82dc3a32fe7f4ffdb18b1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2144, + "data_offset": 3655680, + "gid": 0, + "header_offset": 3655168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h", + "sha256": "f70a149742d8b6d87cef7e2912fc3ccda35521d5ab9b47c566546cf322c9d261", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6307, + "data_offset": 3658752, + "gid": 0, + "header_offset": 3658240, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h", + "sha256": "0990e92eb8d346fd08962c6c27bbe9e56bf05399fd36ac790e556a67c911bdc5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8692, + "data_offset": 3665920, + "gid": 0, + "header_offset": 3665408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h", + "sha256": "adba924418190f95c63dd1c7a59922fcc18b6bd9d45faaf2ccd12b3191d8a706", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3073, + "data_offset": 3675136, + "gid": 0, + "header_offset": 3674624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h", + "sha256": "73ccc7ad72242c1dade2d85c33e803942cbb50a9e59518bda6023da2392f47ea", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2035, + "data_offset": 3679232, + "gid": 0, + "header_offset": 3678720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h", + "sha256": "9103654748691af3206f7dc00995e9c6c68b3c0cfe9a6294eaf760dfb888adb2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4384, + "data_offset": 3681792, + "gid": 0, + "header_offset": 3681280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h", + "sha256": "0f5bb2bab19be8fbabe84bbd037c39924f78015b9d2b6cf103045e1a86fa2cdb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2383, + "data_offset": 3686912, + "gid": 0, + "header_offset": 3686400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h", + "sha256": "8dd32ec528b1548e6f8e9e85f2412c808ee1c1a9b19942dbce67da7b6d3866f4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3886, + "data_offset": 3689984, + "gid": 0, + "header_offset": 3689472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h", + "sha256": "6e1ec1d0c60117eae8e0b011a85e7dc86f084751362e814decc8c4da1a90dd50", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1934, + "data_offset": 3694592, + "gid": 0, + "header_offset": 3694080, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h", + "sha256": "8930c781c5a7bac209dcd489c3466c59671a98e1ccaa7d3b3a3d2a536407ff68", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1144, + "data_offset": 3697152, + "gid": 0, + "header_offset": 3696640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h", + "sha256": "445c7b6af465bd66f70e984a75edbf9b3d12f78a6a402a3b7c0da62af142fe1d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5477, + "data_offset": 3699200, + "gid": 0, + "header_offset": 3698688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h", + "sha256": "10f6662fd0ac0a31be74d407313e06d9276bd5b298d9be0a762e756eab629045", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1163, + "data_offset": 3705344, + "gid": 0, + "header_offset": 3704832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h", + "sha256": "699116c82b3d4d27f237e7f7e6bb44d7ae82c64654b2b70d89dfc35a29f84738", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4260, + "data_offset": 3707392, + "gid": 0, + "header_offset": 3706880, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h", + "sha256": "fe58ab5c8b95a6c3975b35a075f00e3704f8519968a388c2989b30c0c62e6691", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16974, + "data_offset": 3712512, + "gid": 0, + "header_offset": 3712000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def", + "sha256": "ec4c9c88546fa7cb5130de64224baea8f2f2481206a35825ff5f0725f7be611a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 161475, + "data_offset": 3730432, + "gid": 0, + "header_offset": 3729920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h", + "sha256": "3da4923eb7137e70e89af8e31b0164f5ac9ef3979b32b158fcc68787a091ff2d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1550, + "data_offset": 3892736, + "gid": 0, + "header_offset": 3892224, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h", + "sha256": "13ca97e62e1046c0ee94573bc528f690f21d2c95508e2a4b52a4fd586a1bb448", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3596, + "data_offset": 3895296, + "gid": 0, + "header_offset": 3894784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h", + "sha256": "6dc1920d67c95c1b72f3e530d8a3ebe926952e03c4248dd35d6c8492496ad543", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4718, + "data_offset": 3899904, + "gid": 0, + "header_offset": 3899392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h", + "sha256": "15cc72ece04746fe84d86ca21b4fa473d3d8e9a63e6a187901c047e1d0d4e918", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15067, + "data_offset": 3905536, + "gid": 0, + "header_offset": 3905024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h", + "sha256": "f49c5847a59f70bb7dcf6ce883fad82f88827da128412dc375e72e599a82d9cd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 951, + "data_offset": 3921408, + "gid": 0, + "header_offset": 3920896, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h", + "sha256": "1e7878693178734e3f7692e7da5f40ebd4439d7118a0451f9df0a432939f915b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2293, + "data_offset": 3922944, + "gid": 0, + "header_offset": 3922432, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h", + "sha256": "de279206c8ea8dc4a8078b32f0a38853ac6c03687e3dfddec70056bf66eb09a5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 12497, + "data_offset": 3926016, + "gid": 0, + "header_offset": 3925504, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h", + "sha256": "ccbae957b442f88d088d56aec8f8045b4057653c363115621c46a408658bae23", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1531, + "data_offset": 3939328, + "gid": 0, + "header_offset": 3938816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h", + "sha256": "3a42edc31d2b1c4ac08ba1b3dca541ca909a964efa7646f7010e2ba21a3e30cd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2409, + "data_offset": 3941376, + "gid": 0, + "header_offset": 3940864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def", + "sha256": "1651b558793d700fe1a0c4ac2b9cac5c95ef2e4520f42df76938d6848a3b6add", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1783, + "data_offset": 3944448, + "gid": 0, + "header_offset": 3943936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h", + "sha256": "1d2e65fdd1565fc90923304bdadeeb00384d7d617f28a23d7a76537a52e80893", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 330, + "data_offset": 3947008, + "gid": 0, + "header_offset": 3946496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h", + "sha256": "22dd0ab81baadd5a8d455b445855f341d419c7b0267beca235de00b7ec78e529", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10158, + "data_offset": 3948032, + "gid": 0, + "header_offset": 3947520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def", + "sha256": "b8fe0ca2bae450a6cc5fab57ede4cfb1a59c98cc8451837a9e763d168d5f52df", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 176886, + "data_offset": 3958784, + "gid": 0, + "header_offset": 3958272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h", + "sha256": "02870fb8fd90e7115d52b7893ac70db6fdb19e0189f53235b2e65066c7203855", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16063, + "data_offset": 4136448, + "gid": 0, + "header_offset": 4135936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h", + "sha256": "1531add71cd94bfd441313905a0e233cb3774e10491d634830b3be5d58271dfb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5627, + "data_offset": 4153344, + "gid": 0, + "header_offset": 4152832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h", + "sha256": "0e258c1fca60d02537913288f68f8234ed300e36c824d0515ebe3704436dffc2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10909, + "data_offset": 4159488, + "gid": 0, + "header_offset": 4158976, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h", + "sha256": "e5cf42c2ad4515dc2a88fe984ec0281632689bcca2736f50dd2fdfeca546c948", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5741, + "data_offset": 4171264, + "gid": 0, + "header_offset": 4170752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h", + "sha256": "876bf0e7c31a5378efc30e07fabbd55a94245bbf44ebf2f7784659e42d59a9a2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 39688, + "data_offset": 4177920, + "gid": 0, + "header_offset": 4177408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h", + "sha256": "7115642e9761d2cd36f131d486a437a110b93158fb0899308b49793615b1b5b9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11226, + "data_offset": 4218368, + "gid": 0, + "header_offset": 4217856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h", + "sha256": "81c44e0537bfc87a0b9adcc52051236015f28b222fcaafb54f8815c9561b2479", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7402, + "data_offset": 4230144, + "gid": 0, + "header_offset": 4229632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h", + "sha256": "a72e81a2c7322ca4fc9ba821c1cb38ae7c034cb402181e90d91841cd58b1f98e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1121, + "data_offset": 4238336, + "gid": 0, + "header_offset": 4237824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h", + "sha256": "b81549f3331b5335b3129ac2091691aa658b5cf651ba1ba0082906af22997f54", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6259, + "data_offset": 4240384, + "gid": 0, + "header_offset": 4239872, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h", + "sha256": "1e7d3063c34061812fbdd950e90d858e0bc1cd5f67db144a75c3246aa7cf31bd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1808, + "data_offset": 4247552, + "gid": 0, + "header_offset": 4247040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h", + "sha256": "0003121f60d6cb02ed21c08709c10889e5df6891bdd8251290f0084e81bf2b4b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1943, + "data_offset": 4250112, + "gid": 0, + "header_offset": 4249600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h", + "sha256": "61e4c9ea3990396756584ee9bc40ab081fa6204a48eeaa345c072f58a50a25ad", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5584, + "data_offset": 4252672, + "gid": 0, + "header_offset": 4252160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h", + "sha256": "88a0e0f498a55f586df2845736b75e63b07802f169bcf8b1edf4fc95f8bedcc0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10745, + "data_offset": 4258816, + "gid": 0, + "header_offset": 4258304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h", + "sha256": "7a50e1ced617289ebe97acbaf61925b7de235e50d4b73d8575da288dd064a127", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4271, + "data_offset": 4270080, + "gid": 0, + "header_offset": 4269568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h", + "sha256": "b09b75199f3721bd9538812d29ce8da67c95c992da9295b4c865d70b470aff7d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5203, + "data_offset": 4275200, + "gid": 0, + "header_offset": 4274688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h", + "sha256": "5b78e81a7226a9cbc6c664b2928c68ccb155132d4e764daaca2eb28590137856", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1696, + "data_offset": 4281344, + "gid": 0, + "header_offset": 4280832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h", + "sha256": "747174cc153c2c9851a6acfa50586fa632db3696650b118a00fed85bac643b79", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9147, + "data_offset": 4283904, + "gid": 0, + "header_offset": 4283392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h", + "sha256": "ab7c203f21122c26260141dffe2e3e3fc30c9ad6458b5c2be26029d4cf34280d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1881, + "data_offset": 4293632, + "gid": 0, + "header_offset": 4293120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h", + "sha256": "62a42864b5d1de2f6ba657663688b67018349a6ef133fe4f9feb312edbd4674f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5586, + "data_offset": 4296192, + "gid": 0, + "header_offset": 4295680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h", + "sha256": "bcb77597a67ac6b68b24dbdae7dca900f611ad0a8a3a56ecf8af45378d890ca6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11715, + "data_offset": 4302336, + "gid": 0, + "header_offset": 4301824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h", + "sha256": "4baa3750012a67f0bb4600d7faea1a52c3c104779aaa8c64095f2d0581757902", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 310455, + "data_offset": 4314624, + "gid": 0, + "header_offset": 4314112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h", + "sha256": "83e0c3cbab2ce449e98b300a78667666b4f8a7cfe4d4b4cdfdd8af8019393774", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 526, + "data_offset": 4625920, + "gid": 0, + "header_offset": 4625408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h", + "sha256": "61f4af46470a090d3879482225cf5b44d7e63e6a62a2556c588758311a7b55d1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11204, + "data_offset": 4627456, + "gid": 0, + "header_offset": 4626944, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h", + "sha256": "319b6341188b6ea532fc90a5a6ce26a0c87e35a2f4c7887f8db3a54f9d8f8ca3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1347390, + "data_offset": 4639232, + "gid": 0, + "header_offset": 4638720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h", + "sha256": "0e21173edfdcf406b300992e8bab9ef65ca3a98f42501d24efeffd057eedb218", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 24711, + "data_offset": 5987328, + "gid": 0, + "header_offset": 5986816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h", + "sha256": "206116a4fb7aedd76f936dfd3f23c5ba9a9c4cda1c787338dffcdc6feea6a78d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 28560, + "data_offset": 6012928, + "gid": 0, + "header_offset": 6012416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h", + "sha256": "bc522aae00c541e890a64bec011e0df5c0952f76058e4418fde210051b4f9a16", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3617, + "data_offset": 6042112, + "gid": 0, + "header_offset": 6041600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def", + "sha256": "a3c40aa47c1a61414ee539c2729d60cf027c7a654a576d6bfa9a4038d4cb8be5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2706, + "data_offset": 6046720, + "gid": 0, + "header_offset": 6046208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h", + "sha256": "8793b9ae709fa4abfa4b47b42f7d44e5b8a0c81babb947316f340e26c34bd955", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22125, + "data_offset": 6050304, + "gid": 0, + "header_offset": 6049792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def", + "sha256": "b5bdb9d9d2d0c0836398ce22772e364881ef4999da68d6824a3c08bbebfb864a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8988, + "data_offset": 6073344, + "gid": 0, + "header_offset": 6072832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h", + "sha256": "6e5d20a5735c158d71a3fea72e303455ce5a1ddb1964a1283084331645a923e2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2009, + "data_offset": 6083072, + "gid": 0, + "header_offset": 6082560, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h", + "sha256": "4a313883acbe8bf6a6502e0f4a56863ab5916e8defe4828e98f5251af2536744", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15911, + "data_offset": 6085632, + "gid": 0, + "header_offset": 6085120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h", + "sha256": "de4a896a9634f74046d2869acd9bd1cb53ee4f7f2ab55fe1ced41460f03417f1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11544, + "data_offset": 6102528, + "gid": 0, + "header_offset": 6102016, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h", + "sha256": "496e275a5cece9993a70e8bd4a02344ed0e3ac7c50d1b81d9d1adc7d4094db2c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 21309, + "data_offset": 6114816, + "gid": 0, + "header_offset": 6114304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h", + "sha256": "9e7a92faa7ba1f266da868b0054480f19dd8d5291c479b4ba7132e9a35c27cb5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4289, + "data_offset": 6136832, + "gid": 0, + "header_offset": 6136320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h", + "sha256": "1e955d3f468551b8ad6ff25bba478f81e71ba94e61db38fb585772b5d2f935cb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22363, + "data_offset": 6141952, + "gid": 0, + "header_offset": 6141440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h", + "sha256": "fe51a1249a2d02f88c09e4d39f5b86bc4b93134c6afc94923fdee8c364fcbc69", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5027, + "data_offset": 6164992, + "gid": 0, + "header_offset": 6164480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h", + "sha256": "22c65da14709b9b84e8086769f3897e4f48f05b59e975a3d241a495c09dc1d47", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18540, + "data_offset": 6170624, + "gid": 0, + "header_offset": 6170112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h", + "sha256": "f3201c2d0c05d9f7a8ff5bf24b45c7900d74f826c73e8f1462abf2489e97e561", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8891, + "data_offset": 6190080, + "gid": 0, + "header_offset": 6189568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h", + "sha256": "6b22f107252d8a4e3b93663584c2a43293e30630960369e6f3308c664c7ca4ae", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 41250, + "data_offset": 6199808, + "gid": 0, + "header_offset": 6199296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h", + "sha256": "c6ac7cb1c6c2b9b41e6351d823c97cd36ed192055f2bec5d5cf732816d6d00dc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3529, + "data_offset": 6241792, + "gid": 0, + "header_offset": 6241280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h", + "sha256": "399109d1b5ba4d7aba587233d2235c508453294b503640636bf5f65c4bec4fb5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1099, + "data_offset": 6245888, + "gid": 0, + "header_offset": 6245376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h", + "sha256": "43c907a42844c6b38799eae901b6046c4676dc27de8ebd5a5318a954f2520d4a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9725, + "data_offset": 6247936, + "gid": 0, + "header_offset": 6247424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h", + "sha256": "5329e4984b4519090d52923ceca6c115f03b57327b2bda231c555f1b2b6dbde4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 62259, + "data_offset": 6258176, + "gid": 0, + "header_offset": 6257664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h", + "sha256": "aec4d79bbac7c207b388b045b7b0d55947f13a9d5138a5ef57c8a36031248e02", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9893, + "data_offset": 6321152, + "gid": 0, + "header_offset": 6320640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h", + "sha256": "d732461cda17464dbf997c189a28eb5c1ee94a8171be0ca2d7c68e5f148e4810", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7700, + "data_offset": 6331904, + "gid": 0, + "header_offset": 6331392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h", + "sha256": "a7be36431cebf05709bd2a25f47381bc2786125bfc92f933edc28aab6761f8ca", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5894, + "data_offset": 6340608, + "gid": 0, + "header_offset": 6340096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h", + "sha256": "f22917e2b2d4ee3b5d012e3fb9237f262ab7d7cc09f5b68f6abef02cb600afca", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4705, + "data_offset": 6347264, + "gid": 0, + "header_offset": 6346752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h", + "sha256": "9ccf0c42d9ddb74401cac7be0c8bd17c3183be25d7b2af89069a98b8978272cf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16998, + "data_offset": 6352896, + "gid": 0, + "header_offset": 6352384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h", + "sha256": "95f149ef20e682d4877d5f2ebb2c9886b68750f8cf586b4a982e32566e67f488", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27732, + "data_offset": 6370816, + "gid": 0, + "header_offset": 6370304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h", + "sha256": "5cef50bf7cd776d0bb62db9722163b98f4372e8ab256ceab28a6eabd0161f572", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1327, + "data_offset": 6399488, + "gid": 0, + "header_offset": 6398976, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h", + "sha256": "0bda2ffffab92ff1e08ad9d5d820a27f9379ee6782d2d27dcb753a5d6aea38db", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2586, + "data_offset": 6401536, + "gid": 0, + "header_offset": 6401024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h", + "sha256": "4ede906245548b77c8039974408ad67b33f437b8d37863cdc8511ad21f053ea4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27873, + "data_offset": 6405120, + "gid": 0, + "header_offset": 6404608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h", + "sha256": "30bb26b74878d324cd3a495ae6913f9dc682fb8519c2acd55520e31f8456a6c1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1411, + "data_offset": 6433792, + "gid": 0, + "header_offset": 6433280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h", + "sha256": "3b38742bd304c485bb6ab53cacea9432e28205ac7a002a86330f0ae2380f2b3d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 270, + "data_offset": 6435840, + "gid": 0, + "header_offset": 6435328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h", + "sha256": "281813879fe05668e6a3cc520ef294c7fd3f01f75dd67cb5e363c3ffdf37cb1b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 73241, + "data_offset": 6436864, + "gid": 0, + "header_offset": 6436352, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h", + "sha256": "415f38816ece1ca843803ef3af96be9d9029e83fe9e76b53f0c33f74eeaee778", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2486, + "data_offset": 6511104, + "gid": 0, + "header_offset": 6510592, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h", + "sha256": "62fd366fc45f278a0957b5b9c456bf9967bf0dddb1903a9539df9f677abba3b2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 893, + "data_offset": 6514176, + "gid": 0, + "header_offset": 6513664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h", + "sha256": "013de58934fbc12448fd9c684dd5c920be658c527ec61c4d5bff848d911373af", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2081, + "data_offset": 6515712, + "gid": 0, + "header_offset": 6515200, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h", + "sha256": "a17e1d7b54de7bbd12917d92e645bebf03466c4dff43a4fb3314b955f08d93d1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18811, + "data_offset": 6518784, + "gid": 0, + "header_offset": 6518272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h", + "sha256": "3e1e99bc6bab69cb9d3c81f4e84f13d15aec66a39597b1272f46e8e5d994982f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1337, + "data_offset": 6538240, + "gid": 0, + "header_offset": 6537728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h", + "sha256": "a0dac0179283d66fecc9eef1245bfe9e220cadd855bb78238fb17938223a01d3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1599, + "data_offset": 6540288, + "gid": 0, + "header_offset": 6539776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h", + "sha256": "d0e82fdd93133a4165a7355e79d815cd0cd4e2d954f59d8141b9b9d1ba5d38c8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1595, + "data_offset": 6542848, + "gid": 0, + "header_offset": 6542336, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h", + "sha256": "1c91506b7ee8fa420ef0852e90dc824e28dc367274d05fce88f188b9644a3473", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 38386, + "data_offset": 6545408, + "gid": 0, + "header_offset": 6544896, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h", + "sha256": "8af2370c5da76c5a10a5f81dc7276d577d15d4427a45a4fc945056200f971ecd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 6584320, + "gid": 0, + "header_offset": 6583808, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 975, + "data_offset": 6584832, + "gid": 0, + "header_offset": 6584320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def", + "sha256": "ee4847ee69fc0acd5f2c89176d2d523ada86876bf6ef97c37f05becf56c0a049", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10847, + "data_offset": 6586368, + "gid": 0, + "header_offset": 6585856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def", + "sha256": "de584372b4942dd19796032f087b652ebe3425f4fdfa71ce16245a17c1f47506", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 35856, + "data_offset": 6598144, + "gid": 0, + "header_offset": 6597632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h", + "sha256": "4444cb35bf21f0fad623af174c34d3a23a1f7a239206148ada43f4ea422ab3ee", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1529, + "data_offset": 6635008, + "gid": 0, + "header_offset": 6634496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h", + "sha256": "ec51d87d64f36a9d717d4a9b12810d43d60c16ca5527cda00de934f58bea6ffd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5409, + "data_offset": 6637056, + "gid": 0, + "header_offset": 6636544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h", + "sha256": "7e63418a7fcab4637c5fb29fe554149c0252ed43fcd70a9434af8d8157aff5d6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1280, + "data_offset": 6643200, + "gid": 0, + "header_offset": 6642688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h", + "sha256": "afa4dc890a08081d268b4b7512fbcbe46572dc71d6a026b465a8f6e2d9714451", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18132, + "data_offset": 6645248, + "gid": 0, + "header_offset": 6644736, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h", + "sha256": "95cc899b612bf1d4aceeb45663b2bbc34b8711d38c215b53ef2693fd73ddcc91", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3401, + "data_offset": 6664192, + "gid": 0, + "header_offset": 6663680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h", + "sha256": "4c56869646d5db67ce1887862d23c13ac2453879ff8da57c67f5c4ad6594ff69", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2500, + "data_offset": 6668288, + "gid": 0, + "header_offset": 6667776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h", + "sha256": "76be7522462077eba796115512b13778ebbff5be23babf8ca6cf19805d435014", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2034, + "data_offset": 6671360, + "gid": 0, + "header_offset": 6670848, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def", + "sha256": "51d097959c833480f573c1253da61cbf79495424ff3640c577837ee5e7fe5cbd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7617, + "data_offset": 6673920, + "gid": 0, + "header_offset": 6673408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h", + "sha256": "639957ca653d1b4a8caccabe94166b6e80dcc150dc7fef7120b03781d3e86338", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 6682112, + "gid": 0, + "header_offset": 6681600, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 3378, + "data_offset": 6682624, + "gid": 0, + "header_offset": 6682112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def", + "sha256": "c2b3a32369d99cc8260b985d647c5a4e506f0e1f95296062c8993ac33070799c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2480, + "data_offset": 6686720, + "gid": 0, + "header_offset": 6686208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h", + "sha256": "3337eebd882f83dd0d81305cd886c20403267f9030966fe91e021eb793b71c85", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22405, + "data_offset": 6689792, + "gid": 0, + "header_offset": 6689280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h", + "sha256": "d7b88aea7f6a9579f716a775fba2acbd119315e0975431c7644ec842495271d0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22884, + "data_offset": 6712832, + "gid": 0, + "header_offset": 6712320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def", + "sha256": "0ea9f9414e42aa2ebfca27d2a853594f13d30b63259303d77207e30d07ba67c6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1165, + "data_offset": 6736384, + "gid": 0, + "header_offset": 6735872, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h", + "sha256": "865d458725ff3ac68fe6e34ac2d9d4a9df93cf0913469d9726f426a0fc9c25cc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5983, + "data_offset": 6738432, + "gid": 0, + "header_offset": 6737920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h", + "sha256": "7adf96139b70216876dc610b87a81c950f197811ba7e1249031dad9f0d1c00b5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1095, + "data_offset": 6745088, + "gid": 0, + "header_offset": 6744576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h", + "sha256": "db8f807abd15f86cbb42242e65b1e9a3447074aab6c98424b0a7ebf2dab8b80f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1214, + "data_offset": 6747136, + "gid": 0, + "header_offset": 6746624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h", + "sha256": "244d40fb972c66f1accc14712cf0ee6575209e113431fc897af09b6ec59295b3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 880, + "data_offset": 6749184, + "gid": 0, + "header_offset": 6748672, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h", + "sha256": "74456a1c9e0f39545ffa3f6eb8b3c8cfebfe7a4ab954453c6a912f4e42fa1ca3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9423, + "data_offset": 6750720, + "gid": 0, + "header_offset": 6750208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h", + "sha256": "3a2ab8a4cdeba7790e0f246c37580c904dbf459e4d26a5775f82220ecefafc35", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2540, + "data_offset": 6760960, + "gid": 0, + "header_offset": 6760448, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h", + "sha256": "50fb15e8b6fb8980f80cffb19667e63740c0a0a4be47bb5e5e5ab59351a2362f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3469, + "data_offset": 6764032, + "gid": 0, + "header_offset": 6763520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h", + "sha256": "29ed316ac1c28a4b1df96943e194d1d63ecfe761e9f6124a418b227cd84eb87e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7104, + "data_offset": 6768128, + "gid": 0, + "header_offset": 6767616, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h", + "sha256": "5ed43d77e9d7d2080d5d02a78260d759c5b14028431b28055e3d4564d5aecea1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1867, + "data_offset": 6775808, + "gid": 0, + "header_offset": 6775296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h", + "sha256": "10de46939ebad137748008605be8afb05dbceb4eb7e7c09d7ffe11f11c15897f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22768, + "data_offset": 6778368, + "gid": 0, + "header_offset": 6777856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def", + "sha256": "423d37d7db5f9ae5be74b83d2d55a4acbbbaeaf56b293d68375f7a8f7d2f24dd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 14408, + "data_offset": 6801920, + "gid": 0, + "header_offset": 6801408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h", + "sha256": "904dbf30e1cb2dae59e3ebca387fc9f4a278b1a5b468fa82c97d4a35e4e618cf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2047, + "data_offset": 6817280, + "gid": 0, + "header_offset": 6816768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h", + "sha256": "b8d4716945ae169e7be105dfe9b29417a907a308dbf2ccf629a6d8bbb7a31ef4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5152, + "data_offset": 6819840, + "gid": 0, + "header_offset": 6819328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h", + "sha256": "8884b6514baf87d199fe0c54da077e7209cc760022a83984c3f26d6a18ec4102", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 504497, + "data_offset": 6825984, + "gid": 0, + "header_offset": 6825472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1032, + "data_offset": 7331328, + "gid": 0, + "header_offset": 7330816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h", + "sha256": "b941dcb347c09c55364350b23ba666aa11d3665920a5d8d6778c4edf3454d983", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1787, + "data_offset": 7333376, + "gid": 0, + "header_offset": 7332864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h", + "sha256": "cf69cae8fdfc06b026c6c9e6f73b6569012e368d595522dda263490c7323f0cd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20111, + "data_offset": 7335936, + "gid": 0, + "header_offset": 7335424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h", + "sha256": "679ae81edf5eb0f284eb8426d2d742b795d94c718d08fa0c6be0b000fed8f99b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5035, + "data_offset": 7356928, + "gid": 0, + "header_offset": 7356416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h", + "sha256": "a19e5a6c8b0995d955972ac1e8e36f8e3e596def77e1071a66c5513110d8c984", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 25158, + "data_offset": 7362560, + "gid": 0, + "header_offset": 7362048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h", + "sha256": "0b1f52111356fa8ff77fd3cc829c2a14400a6322db3743f8293f6cba3ced544c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 24846, + "data_offset": 7388672, + "gid": 0, + "header_offset": 7388160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def", + "sha256": "a0e160ffd36c3ad1643ac4b29dffb0cbda42eb411cf8b29618df9917e586c5f4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4112, + "data_offset": 7414272, + "gid": 0, + "header_offset": 7413760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h", + "sha256": "14517703ae93aca191844dd07649820424e8c9f84cb17bab6a7058bdd91b9766", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22106, + "data_offset": 7419392, + "gid": 0, + "header_offset": 7418880, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def", + "sha256": "f0a89caaaec0c4e234e4840f5958cc59ed9189f18bf62309ea78bb68befd4fe6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18343, + "data_offset": 7442432, + "gid": 0, + "header_offset": 7441920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h", + "sha256": "ab883946bdbc9a8143b32bf970b3be836e070c62223974b25bffae4e747836ae", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 595, + "data_offset": 7461376, + "gid": 0, + "header_offset": 7460864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h", + "sha256": "240c05ad22d5f396015efdc5d0381c554ea79d62c8ece0402909501e59a5f1d4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3419, + "data_offset": 7462912, + "gid": 0, + "header_offset": 7462400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def", + "sha256": "6e5670c5c93a21ee20ddb1d96974c782cb51b988fe4bd66a8aed42768b88f54e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6593, + "data_offset": 7467008, + "gid": 0, + "header_offset": 7466496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h", + "sha256": "bf17c85ab563f8cc6808993e83dd6ef727b282b8b4ede9749d635d23feb7753b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9703, + "data_offset": 7474176, + "gid": 0, + "header_offset": 7473664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h", + "sha256": "d68d16e80c901ae7f30d93772645252e184268e91f38d8e6f461f1bdd22ef2b0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4328, + "data_offset": 7484416, + "gid": 0, + "header_offset": 7483904, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h", + "sha256": "e2a969980945c688e2851b91a34bfd6658ee0aa5684a6e7cab5bd81bc2ab5d6a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 81531, + "data_offset": 7489536, + "gid": 0, + "header_offset": 7489024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h", + "sha256": "e66872fe193c40e9548de5effafec475f4d2d57ba0e69db2d2ee091c75a3caa3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10136, + "data_offset": 7571968, + "gid": 0, + "header_offset": 7571456, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def", + "sha256": "f78bdbe1e3493092e5bd7544a6ec94e57e8ca280b6487d037312d68adb71a537", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4752, + "data_offset": 7582720, + "gid": 0, + "header_offset": 7582208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h", + "sha256": "3a15c9bc658a8d773b9b741f9c52b5d08eb2461715478add8a0b7785a8a0c73a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1260, + "data_offset": 7588352, + "gid": 0, + "header_offset": 7587840, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h", + "sha256": "7a6f926a74485becf52e91b15cbdee5674b8470a4c5376179667e32c093430ab", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16071, + "data_offset": 7590400, + "gid": 0, + "header_offset": 7589888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h", + "sha256": "605c2d11126def8d4b358a661000989448a6e6777e7b04536243cac1bbe4ee03", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5643, + "data_offset": 7607296, + "gid": 0, + "header_offset": 7606784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h", + "sha256": "82d36d4eb489d6959e70dbaee1fb14b5d30a04a76840ded2df90572aa07d6885", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1944, + "data_offset": 7613952, + "gid": 0, + "header_offset": 7613440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h", + "sha256": "ad87f6e71674db1ea93d24fd13c5f4ba4a44c910c438389d1a3f3ed0f944efef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 39197, + "data_offset": 7616512, + "gid": 0, + "header_offset": 7616000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h", + "sha256": "daacfd3111a8ae358573e4edd62d06a765824feaa61ee6e3bfd2fce6719c715a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2335, + "data_offset": 7656448, + "gid": 0, + "header_offset": 7655936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h", + "sha256": "00eeecf678a97ef2d8b27c21739580e2fb4b22758807b9351ba421338e5fc5c4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10757, + "data_offset": 7659520, + "gid": 0, + "header_offset": 7659008, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h", + "sha256": "97143b407697c7e1dd429675660e8e5c262e90331c0cf3509ce5e998e8ed2bc8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1690, + "data_offset": 7671296, + "gid": 0, + "header_offset": 7670784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h", + "sha256": "ac66d273dd27ae1aa5672ba820129727c2b48110d7f780922a8d46ba26e12d02", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13190, + "data_offset": 7673856, + "gid": 0, + "header_offset": 7673344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h", + "sha256": "b4d0bb94bf80c7cd2426e80d98b6063ceaf9fe77135e2323cde155d7ae4f20e7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1002, + "data_offset": 7687680, + "gid": 0, + "header_offset": 7687168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h", + "sha256": "087dae9fb10d3d7fca65278b2fcd521477058b91c3242a385853e22897497b81", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 21374, + "data_offset": 7689216, + "gid": 0, + "header_offset": 7688704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h", + "sha256": "64bb28d4bd9cee160cb7a165827ac901f8fc5c0fb0c7d0976885a37ab065119f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1302, + "data_offset": 7711232, + "gid": 0, + "header_offset": 7710720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h", + "sha256": "d8f33b66341cd504dab1a29eebd8215a56e1769b57a4d62b6a9ad3ed1f7e5c0c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18160, + "data_offset": 7713280, + "gid": 0, + "header_offset": 7712768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h", + "sha256": "65f535deb2993fa5960cc5f39477b710b3d6ebe5ab2d6b4165bd8d61acce560b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10982, + "data_offset": 7732224, + "gid": 0, + "header_offset": 7731712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def", + "sha256": "71888a6aa0d904d1462f91a82810073231c8526d0f33a9a7a6d82cbb87cd7b3e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 877, + "data_offset": 7744000, + "gid": 0, + "header_offset": 7743488, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h", + "sha256": "b58d176b75700c415cfad8218d7a2b08ee8004bda1cc22ba50dac9bd4978a38b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3563, + "data_offset": 7745536, + "gid": 0, + "header_offset": 7745024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h", + "sha256": "1e36a6da41687305e5a97cb741594abb02b4d3fff577fcb8a62138c5822ebfaa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 12634, + "data_offset": 7749632, + "gid": 0, + "header_offset": 7749120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h", + "sha256": "15d9102c0bf9155ba02c9a3806be502e9ac5f788a30c5e5f17dd873e7bf2bc5a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4824, + "data_offset": 7762944, + "gid": 0, + "header_offset": 7762432, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h", + "sha256": "2728d61c5e85efc5802bebd3310845d1e72f6554418810ae5edace22e49e0241", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17659, + "data_offset": 7768576, + "gid": 0, + "header_offset": 7768064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h", + "sha256": "3abb0b6d1e9c65d38b61b185c88c5ebf37e51beaf2bf8912c3bdae3d2e46050b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1981, + "data_offset": 7787008, + "gid": 0, + "header_offset": 7786496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h", + "sha256": "5830422162a9e2bf8aae757776bf399fc10dbaa599504343f4effc3737605b81", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1050, + "data_offset": 7789568, + "gid": 0, + "header_offset": 7789056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h", + "sha256": "0398b05ae75bbaa2014dee32fe3b5614ba536c2a40e899985dc83c3db52feea8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8363, + "data_offset": 7791616, + "gid": 0, + "header_offset": 7791104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h", + "sha256": "4fa2852f3ea51e76acfbaca3d8297b94ad04d66cf4d2712a4475e17fba73a1d2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1991, + "data_offset": 7800832, + "gid": 0, + "header_offset": 7800320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h", + "sha256": "bea1a8cd10f40cc67634ead997999942231497ab46f2b5ae5bf07991c5efa230", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 61440, + "data_offset": 7803392, + "gid": 0, + "header_offset": 7802880, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def", + "sha256": "0a5f215a95ba9df29b8fc743f7e477e2a493e16d2c91b5d5ad349846497e0764", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 160104, + "data_offset": 7865344, + "gid": 0, + "header_offset": 7864832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h", + "sha256": "141702d3ec4ef6829ad9f8082850a8d4cfb7483b7e1cbc500de4e34418bacb9c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10466, + "data_offset": 8026112, + "gid": 0, + "header_offset": 8025600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h", + "sha256": "5f3a7b97630a0a51cc4a40175e162f0ff85b9cc1d547b140496bbf783efc7895", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 850, + "data_offset": 8037376, + "gid": 0, + "header_offset": 8036864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h", + "sha256": "28b8d35d5616c74c62fa31b5674318d7e0fba611f2bf06192fd636d0ea474b35", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1797, + "data_offset": 8038912, + "gid": 0, + "header_offset": 8038400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h", + "sha256": "d5c4db6a98b8586c5f8dca8f225041caf4f3473ad95e54583866dae9f5a75a37", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3848, + "data_offset": 8041472, + "gid": 0, + "header_offset": 8040960, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h", + "sha256": "f5e36f8d27a594b77cb0530ba42ea335c9eceabdab7961675efd0d0c5304d539", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 884, + "data_offset": 8046080, + "gid": 0, + "header_offset": 8045568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h", + "sha256": "9582b29310769bfaabfe8c23c637c6d8e1376edd9ec9bcc176fb38b99848c206", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5642, + "data_offset": 8047616, + "gid": 0, + "header_offset": 8047104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h", + "sha256": "e7e2202f4b96bc269c5a885812b4a919c92e64e196d106b0a8db4a93572e7bd3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 33537, + "data_offset": 8054272, + "gid": 0, + "header_offset": 8053760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def", + "sha256": "e4069289ef31866fde4d1acdbd4a747e5d99586e058067b57b3343b0ea6f92ec", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10369, + "data_offset": 8088576, + "gid": 0, + "header_offset": 8088064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h", + "sha256": "9958ea326e761f3ff9c9526c7223b076fc4b9cec7c9453f21083a320210eb2c5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 61641, + "data_offset": 8099840, + "gid": 0, + "header_offset": 8099328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h", + "sha256": "dc1a6562fe614c64146430ed54600e933c30a5061cec75aea95e46083477743a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6940, + "data_offset": 8162304, + "gid": 0, + "header_offset": 8161792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h", + "sha256": "d6d217bd789ab925858267a761092651c2fe7a9b5fd530ed9009ffa627e86aad", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 48949, + "data_offset": 8169984, + "gid": 0, + "header_offset": 8169472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h", + "sha256": "b17053bd5d174df238c8bc41be386f371ed678dc170e4cfb90dc5ba4d87e9e3a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 920, + "data_offset": 8219648, + "gid": 0, + "header_offset": 8219136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h", + "sha256": "c1f7a7e88904e6b3f2f64b94bd77dd2a27e986153047d5896099163227df8282", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1493, + "data_offset": 8221184, + "gid": 0, + "header_offset": 8220672, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h", + "sha256": "3662ed457aa27813ef3f0802f4d48dc039213a453f434e757808e4f6a4f8e03a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3235, + "data_offset": 8223232, + "gid": 0, + "header_offset": 8222720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h", + "sha256": "feda33ddda3dd145deed464204db202a5c8075fe9fdc30fcdbcae2bb71a69983", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15588, + "data_offset": 8227328, + "gid": 0, + "header_offset": 8226816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h", + "sha256": "d2cf01d8ef1465541dfbbf3bbd3fad1c32d2b35dc4d89d20f9095b54137d5719", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7500, + "data_offset": 8243712, + "gid": 0, + "header_offset": 8243200, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h", + "sha256": "bc5b78d700b487e41136fa6a422d603b033f853539c19cb03f4249b6e346c345", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6205, + "data_offset": 8251904, + "gid": 0, + "header_offset": 8251392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h", + "sha256": "2eaff39957c8b8c6195b2eeebf1601d74aa203959545d223001b436311eab295", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1165, + "data_offset": 8259072, + "gid": 0, + "header_offset": 8258560, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h", + "sha256": "4c02ba20251963758c89b10899393b28662d9463c09f23cdf1a26b63c9f6726e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1056, + "data_offset": 8261120, + "gid": 0, + "header_offset": 8260608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h", + "sha256": "aee11f55692dd8b2bda2d8a04c45b7d40379c55258dda5db1f03c3515631f8a0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6812, + "data_offset": 8263168, + "gid": 0, + "header_offset": 8262656, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h", + "sha256": "c7eb94536c94fd08bcc4dc755716d6b4d975bd75f71f8186f3c0e510d449c5f2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1416, + "data_offset": 8270848, + "gid": 0, + "header_offset": 8270336, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h", + "sha256": "ff8432c6862f0d119017626789c451dea9388b6ea74eba4f53186beabd135094", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7360, + "data_offset": 8272896, + "gid": 0, + "header_offset": 8272384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h", + "sha256": "330f381fc436a17de505c30f977ef2a2ee4692e0b0dffdb4b752a37f14ebc4d0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16880, + "data_offset": 8281088, + "gid": 0, + "header_offset": 8280576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h", + "sha256": "a13bf0f6af9d93a621f33172d1b3219e0d650edd91ee16e876098bf305cb2d27", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6238, + "data_offset": 8298496, + "gid": 0, + "header_offset": 8297984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h", + "sha256": "687795657e77a2e1105c5b92cb43e3c1de4a4ee53adcabe25ceceebbac42bb1d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6565, + "data_offset": 8305664, + "gid": 0, + "header_offset": 8305152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h", + "sha256": "394ea5f83e88fdb19768e37b092e72117a9c1cb60e0af28042372d18fe702f47", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 29828, + "data_offset": 8312832, + "gid": 0, + "header_offset": 8312320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h", + "sha256": "13a470f159f7f31c4495af6fc4ac50d7d82d8e31555ced66ae4444ddb261df84", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1039, + "data_offset": 8343552, + "gid": 0, + "header_offset": 8343040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h", + "sha256": "2a1314704e22f2752d1cf83d62ead4d5eb416839b438c4cad9410e5483b2a72a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2846, + "data_offset": 8345600, + "gid": 0, + "header_offset": 8345088, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h", + "sha256": "66de3aed44d510172a51dcd99cb2445354d12fa5c09fde43eb4048e5e2f32897", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2034, + "data_offset": 8349184, + "gid": 0, + "header_offset": 8348672, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h", + "sha256": "234685ba8f567bf512c870e4cc462249937cb9c50c4845c8159009b827e2af03", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5099, + "data_offset": 8351744, + "gid": 0, + "header_offset": 8351232, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h", + "sha256": "7052fef7a6781651860182890449787cddc5731f2e8a8b34ec9d3dc576873e67", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3695, + "data_offset": 8357376, + "gid": 0, + "header_offset": 8356864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h", + "sha256": "16e3d55112b0e7911eba6dad328e1a25fe4c607e35b6c33349b742db6a8a0960", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1491, + "data_offset": 8361984, + "gid": 0, + "header_offset": 8361472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h", + "sha256": "9665167dd0003d60d4b72880ce61a477f1560c972d6097a2cdaa24e03d6cacd2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4744, + "data_offset": 8364032, + "gid": 0, + "header_offset": 8363520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h", + "sha256": "c8ea502e9cd745da74c655fcfad7df2fc43733bb808d3742b7125715cc41cdbf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27511, + "data_offset": 8369664, + "gid": 0, + "header_offset": 8369152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h", + "sha256": "04876299a21be45ce7543996f24d0c327114b657f59bf5736fa2fd48037724d2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2076, + "data_offset": 8397824, + "gid": 0, + "header_offset": 8397312, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h", + "sha256": "43d5903da1b24590ca92a4d3823de558f100d39ad9b7efc1ca11b28c82473eff", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5041, + "data_offset": 8400896, + "gid": 0, + "header_offset": 8400384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h", + "sha256": "367e3314b662a799a41d0403d2bb530aef3a8717e6e02908a6c51a89d1785a85", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3734, + "data_offset": 8406528, + "gid": 0, + "header_offset": 8406016, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h", + "sha256": "7223c38982d25c4f205f961f82c6a2aa95fadcae197b96a5f75d6d0eb635820c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27679, + "data_offset": 8411136, + "gid": 0, + "header_offset": 8410624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def", + "sha256": "0968daba86d57430f56d28c37c797431ff3dc3efb11142562d9fa08d68dd86f0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 42057, + "data_offset": 8439808, + "gid": 0, + "header_offset": 8439296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h", + "sha256": "18acfc4265c88125ae0a190e31c2e865a7726c9fdcc057990e7bfeaa6e62c56c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4265, + "data_offset": 8482816, + "gid": 0, + "header_offset": 8482304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h", + "sha256": "42926ae26ac08524751c635312c73d9e6fd6e95d05a61656ebc6bd0663a4fbf1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3413, + "data_offset": 8487936, + "gid": 0, + "header_offset": 8487424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h", + "sha256": "91615ca3c302e3d40c9eba9df5829ef15e0f6346c7ef57d85ed1a6179d181860", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4060, + "data_offset": 8492032, + "gid": 0, + "header_offset": 8491520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h", + "sha256": "614946cc27b8d6b45efdebd6b8b92bba70b65161ad0e963f64891c106bd1ab62", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5385, + "data_offset": 8496640, + "gid": 0, + "header_offset": 8496128, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def", + "sha256": "86f6e27cf0de4f2b3b85faed07421312087dbf34ab1da0dfe0adc3aa0387ed1d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 324195, + "data_offset": 8502784, + "gid": 0, + "header_offset": 8502272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def", + "sha256": "4b09a0f3c94866ecfdaedcdf645e2e469a787b145dfc4bd3139e91a3cc5d4b7b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9322, + "data_offset": 8827904, + "gid": 0, + "header_offset": 8827392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h", + "sha256": "196b78a30e006a4e6a4aa213a5b9f60dac0939ad7f7f60ce6418374488efca6c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 14065, + "data_offset": 8838144, + "gid": 0, + "header_offset": 8837632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h", + "sha256": "63f067f4e08cbe1c4163e72263ab11db4f40904456a14f19a7ebac777db5154a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18489, + "data_offset": 8852992, + "gid": 0, + "header_offset": 8852480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def", + "sha256": "ad36ee0acd2323014fd3030bed61940b5701eee1ac0aabbe8779eb444e443792", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7825, + "data_offset": 8872448, + "gid": 0, + "header_offset": 8871936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h", + "sha256": "2503c672b155608463651164ec3b7920ef9e3c3aedf327579890e6f6dea53747", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15692, + "data_offset": 8881152, + "gid": 0, + "header_offset": 8880640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h", + "sha256": "9ab00124c52294df63f666481b6201303792fd97155d67981bc74594ddf9157c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1184, + "data_offset": 8897536, + "gid": 0, + "header_offset": 8897024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "sha256": "d384ae33a23985613c839280f1b4845b3415c055e32209c6bc795a4d594f018f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 178, + "data_offset": 8899584, + "gid": 0, + "header_offset": 8899072, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "sha256": "d8729f976710961c7d34afc545be1c22dfb654be3425ce379511c6f837979141", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2853, + "data_offset": 8900608, + "gid": 0, + "header_offset": 8900096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h", + "sha256": "94db68428a4204367beebe06af7039204b0a1585b192dbe3fbc9e2c2e48aca3e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 903, + "data_offset": 8904192, + "gid": 0, + "header_offset": 8903680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h", + "sha256": "70fc64b69e8c6e69ba860d3611bff17183fac32f2d2a6050383d1627f87aef08", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1937, + "data_offset": 8905728, + "gid": 0, + "header_offset": 8905216, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h", + "sha256": "48614ce6d1de0747f00f7e7d6688194aaee8b1cc95e198b8b9081f0001c0bef3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3892, + "data_offset": 8908288, + "gid": 0, + "header_offset": 8907776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h", + "sha256": "a3d786765e5e8c9db578aa39b36f0ace394eb235d89c9b84709b4283e99ee361", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5902, + "data_offset": 8912896, + "gid": 0, + "header_offset": 8912384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h", + "sha256": "d30ad2d326dc52920c97453044915ce687b15493d08c80bc4e14e7e8ff2ad510", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1207, + "data_offset": 8919552, + "gid": 0, + "header_offset": 8919040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h", + "sha256": "24615be2b839893f983c6bd916065b7dbf708f5a8517c5905d8571d6527fa81e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 23198, + "data_offset": 8921600, + "gid": 0, + "header_offset": 8921088, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h", + "sha256": "81664ae9afd3c1ecd324c6bbdea316238e0ea2c088d7f01b71904d633725a39d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7260, + "data_offset": 8945664, + "gid": 0, + "header_offset": 8945152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h", + "sha256": "67399acc52c905646efc22970c64b744431ad89781dd5fe471ef0b2705bdb928", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 69861, + "data_offset": 8953856, + "gid": 0, + "header_offset": 8953344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h", + "sha256": "72c8a34ea0beb747d9b4ae82cc8c206dce09ed0de5b6a2e0e147df7c959274dc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 25753, + "data_offset": 9024512, + "gid": 0, + "header_offset": 9024000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h", + "sha256": "b5db489b124efdadac5fdb41ae52b43b833e2068bfe30e8d7bb32378ebebe324", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1898, + "data_offset": 9051136, + "gid": 0, + "header_offset": 9050624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h", + "sha256": "e2682f2108c770b4cff558b4a94f34e727b63bc27952e35bb429d8bc10e9c45c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2740, + "data_offset": 9053696, + "gid": 0, + "header_offset": 9053184, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h", + "sha256": "686c6456f152eebb3165a614a7bb9a023c9288321b45deb8dc48fcc9b7001e71", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2882, + "data_offset": 9057280, + "gid": 0, + "header_offset": 9056768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h", + "sha256": "d47a731de33f8ec5b39d1766423dd09f2c96166a97136a9ef3d2d45db2219cf1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2494, + "data_offset": 9060864, + "gid": 0, + "header_offset": 9060352, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h", + "sha256": "175e52e40899cf68d11021d9003601f4504e3645f77ab5660c469d34295055c3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1248, + "data_offset": 9063936, + "gid": 0, + "header_offset": 9063424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h", + "sha256": "e849d35541688b86c31bc9b8f680644932badbe00390fa10012b1f278d2bdc76", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1922, + "data_offset": 9065984, + "gid": 0, + "header_offset": 9065472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h", + "sha256": "ee8dc16a1108fc9fd35fcd814fd4a46a4d91a3300199ebeee46cf6bd3d2b7dcb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 845, + "data_offset": 9068544, + "gid": 0, + "header_offset": 9068032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h", + "sha256": "4044e2f7b1a8b7c71ea1a4044ad475654b8deaa774515e79e93986b7ba22238f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8783, + "data_offset": 9070080, + "gid": 0, + "header_offset": 9069568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h", + "sha256": "94fd38febea66c112ae50f7a40614f9d6a4a6891ce1e0c2ce9fabaf7b5b7dba5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1967, + "data_offset": 9079808, + "gid": 0, + "header_offset": 9079296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h", + "sha256": "281eb66117fa6e31a1c2a8dec62e6b7cd89fd254fce5c0b661e7251c7413d636", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4209, + "data_offset": 9082368, + "gid": 0, + "header_offset": 9081856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h", + "sha256": "43f2b75441dddf1761845ccf1ba5801ec6cbe28c12b4d49247b6a0e28d0df0ee", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2239, + "data_offset": 9087488, + "gid": 0, + "header_offset": 9086976, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h", + "sha256": "3ab97eca2ae52177f8569ca13446c7e042ac120dd5e268f7a350729460cca265", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2743, + "data_offset": 9090560, + "gid": 0, + "header_offset": 9090048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h", + "sha256": "4fad928b3dc11362c2a40724cb2c57ab833a094289ed0a543769eafc8984884f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1119, + "data_offset": 9094144, + "gid": 0, + "header_offset": 9093632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h", + "sha256": "92d5051512088e6eec0cc59ac147f6341324424b3097b007cc6fdddc3f5bcedf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2731, + "data_offset": 9096192, + "gid": 0, + "header_offset": 9095680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h", + "sha256": "8f3c9e4aaa6c024e292ecec67bfd1f1dddc53a03ee3aa0d1800e8473ad2fd307", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 864, + "data_offset": 9099776, + "gid": 0, + "header_offset": 9099264, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h", + "sha256": "93e5e2a2451f179f82e0bbb9e05212f86409afc0c8819449907eee3ffbf7ba61", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 33360, + "data_offset": 9101312, + "gid": 0, + "header_offset": 9100800, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h", + "sha256": "5c0d48970ef2feff54f820cedbd2ec03ed4429ebe01fcd418a0798fa2cdeb732", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2233, + "data_offset": 9135616, + "gid": 0, + "header_offset": 9135104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h", + "sha256": "0e30ea4024a1137cfbc0a9f111a95af10b81229f382d5c78ab7f3a758b5df4b0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2611, + "data_offset": 9138688, + "gid": 0, + "header_offset": 9138176, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h", + "sha256": "55946e594a4411c6952e58ba0c48c0fc9b04f2d5343f4569c24e491a06c911a8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2639, + "data_offset": 9142272, + "gid": 0, + "header_offset": 9141760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h", + "sha256": "ac1fe4387efb0886401aab91be2a163eaef8e19d4c86edfc01ce7cabb46f2c89", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1257, + "data_offset": 9145856, + "gid": 0, + "header_offset": 9145344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h", + "sha256": "4de1ecd294cf8f170d9125bcc679e7e97cf6eddf196fbad815b1dcc09d7f0974", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1660, + "data_offset": 9147904, + "gid": 0, + "header_offset": 9147392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h", + "sha256": "2e5ee918aadfad4eab3110ac015b58f0a422322837428b820d0fcad31e6f7c2a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1370, + "data_offset": 9150464, + "gid": 0, + "header_offset": 9149952, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h", + "sha256": "fdcc413bd1c26e60ced05955775249adc50d845cc717e1232b771cbc46a10cd2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7908, + "data_offset": 9152512, + "gid": 0, + "header_offset": 9152000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h", + "sha256": "e480abea7e5453f93991d93b68eba5f24172cd5025edc69d1903ecaac3377ab4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1080, + "data_offset": 9161216, + "gid": 0, + "header_offset": 9160704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h", + "sha256": "4aa56ee7936b971cdcfcfe02d8e50b7c73898148d0b13c900998cce4b3e3826c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 925, + "data_offset": 9163264, + "gid": 0, + "header_offset": 9162752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h", + "sha256": "d57695859d946a0a08b6ba67647d9f019719e7ae28d00aafa9090bb1ffd23821", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 783, + "data_offset": 9164800, + "gid": 0, + "header_offset": 9164288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h", + "sha256": "39890e388df9c1e58ea3231fd8b62e83cdc94eacd9ca34697202432f512000fb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 866, + "data_offset": 9166336, + "gid": 0, + "header_offset": 9165824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h", + "sha256": "19e58e107972cbc4dd0c476501c9f22cfc8928e44656d5a0b63406a69fe1147f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1190, + "data_offset": 9167872, + "gid": 0, + "header_offset": 9167360, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h", + "sha256": "e3471ff30a880e9fb0b20536337e1c47ad81e95191a0d7a9d3f68769a446cc79", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9848, + "data_offset": 9169920, + "gid": 0, + "header_offset": 9169408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h", + "sha256": "7eb1f5add837f73a595b6f99be137f4504bc78a2545d5113a4ac04c7dd40aee7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1487, + "data_offset": 9180672, + "gid": 0, + "header_offset": 9180160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h", + "sha256": "27b4830de909093ea950ef749f2bec5262292e20085e9b3f03e9c7560cf355ac", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2216, + "data_offset": 9182720, + "gid": 0, + "header_offset": 9182208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h", + "sha256": "9180801003efef48b9ac6478249a61a2007cfbdb6ca6869bf6a843878ff04779", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3026, + "data_offset": 9185792, + "gid": 0, + "header_offset": 9185280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h", + "sha256": "7210f337e00c14ab24f5e12a0548fe10ddd9a116fab8a026d1d4af53a3d1756b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2892, + "data_offset": 9189376, + "gid": 0, + "header_offset": 9188864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h", + "sha256": "2dc61c12421e0fd2556fcbb4a3f09d983ec09487f443543dfd1f399e49970cdc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 948, + "data_offset": 9192960, + "gid": 0, + "header_offset": 9192448, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h", + "sha256": "d691cd0b7efc3973eb7643177b9fb7fc703f535f8d3a2feb8721769838e57fb1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3960, + "data_offset": 9194496, + "gid": 0, + "header_offset": 9193984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h", + "sha256": "a5952f0283876d4936a5f2d4b02986501eecb1648ae6df9aa1377cbe702b1c52", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4169, + "data_offset": 9199104, + "gid": 0, + "header_offset": 9198592, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h", + "sha256": "1999fca83931fd4e130324c8c322eeb584fc0ee93f2d5f792588fcc9b473f6ed", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1298, + "data_offset": 9204224, + "gid": 0, + "header_offset": 9203712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h", + "sha256": "6cc2f85619723a929dd0769d5072625b5fd8d50edc7421e70fff43edb7169d94", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10715, + "data_offset": 9206272, + "gid": 0, + "header_offset": 9205760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h", + "sha256": "321de0f0993e17553bb211f21edff5b4f1c11738d5551116f3b06a8393ce41f9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6924, + "data_offset": 9217536, + "gid": 0, + "header_offset": 9217024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h", + "sha256": "5fc7bd13d7161135656c45c6a9c7e3e2e76677cb871bd37306c2334a890cad9c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1524, + "data_offset": 9225216, + "gid": 0, + "header_offset": 9224704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h", + "sha256": "715849f809a9ec47d18dc8dce4bdef3b4e80327d0ffc711e4aca057142af2f34", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 917, + "data_offset": 9227264, + "gid": 0, + "header_offset": 9226752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h", + "sha256": "e56a2853b629f9b88dde117aca2213d76329ddcd20a88536abf9cbc0bf3e1828", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4235, + "data_offset": 9228800, + "gid": 0, + "header_offset": 9228288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h", + "sha256": "256730ffac7856335a8ac3a080822cecfa7f330d77377fb806c370c84869ba92", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4840, + "data_offset": 9233920, + "gid": 0, + "header_offset": 9233408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h", + "sha256": "d00fc4ff751939442bb13200c245be5c7ab180a7f72e7b319b20548e918612b3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3558, + "data_offset": 9239552, + "gid": 0, + "header_offset": 9239040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h", + "sha256": "cad297231afa3fe7cc90d66cd8507d13c037e5d1818e2b7d799b9a32d6e6efe9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4832, + "data_offset": 9243648, + "gid": 0, + "header_offset": 9243136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h", + "sha256": "9137c7fe117fec9307874e6171240c6187918b3196b22565af89ec9c944f5349", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1144, + "data_offset": 9249280, + "gid": 0, + "header_offset": 9248768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h", + "sha256": "5a26f5d6c0099b6f338ed8b99cc028567836d8efdc08e26af4fb513456cec2f2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4350, + "data_offset": 9251328, + "gid": 0, + "header_offset": 9250816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h", + "sha256": "e0eef442b4a28d84342c008c03db818e0321a1e86a2308d5ab3fdde9a2786b58", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 28402, + "data_offset": 9256448, + "gid": 0, + "header_offset": 9255936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h", + "sha256": "c57a807c586b9bc8badbeb0efca1998a5b02ddd772685fa45affa05d775d3ab5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4401, + "data_offset": 9285632, + "gid": 0, + "header_offset": 9285120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h", + "sha256": "4bf2efbba9eff4a89fc749d3e8eeeab4214413d01b7708fe398138fbbf445469", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 94603, + "data_offset": 9290752, + "gid": 0, + "header_offset": 9290240, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h", + "sha256": "d8c0f2d77952e655c40122a1f81d332bbbf3b60d8a0e6e35a65b709f9fa82018", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1736, + "data_offset": 9385984, + "gid": 0, + "header_offset": 9385472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h", + "sha256": "48a0510e236793b2b45f59b153f12e99e354ae7f522723859b6572c3890cf297", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 72523, + "data_offset": 9388544, + "gid": 0, + "header_offset": 9388032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def", + "sha256": "f70aa7747e4e7eb16e7b8e5b980ce7aad073f3eab04b0490b04757075751557f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 263001, + "data_offset": 9461760, + "gid": 0, + "header_offset": 9461248, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h", + "sha256": "e43b7e2a14af9d9f70d3665117a7c56022dc024e9d7d5342515480b661c1a4fb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2857, + "data_offset": 9725440, + "gid": 0, + "header_offset": 9724928, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def", + "sha256": "ff574f07a550c10b969f9bc6e807cff29dd42165f5b4576346d582f61eb977d2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2074, + "data_offset": 9729024, + "gid": 0, + "header_offset": 9728512, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h", + "sha256": "d510e8c6a7577927866daa8ac11d119c0053aed4fd06b36e69d46094ac142ee3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 876, + "data_offset": 9732096, + "gid": 0, + "header_offset": 9731584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h", + "sha256": "0d38c04e33b5148e3b942a927cc527426b78ac11ed3ceb4f3269b021f90aa016", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3858, + "data_offset": 9733632, + "gid": 0, + "header_offset": 9733120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h", + "sha256": "aca99131c169f3ad2b1dbdc9ea8212af4db1b60dea6504a4a898f3b709ee6fe8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1507, + "data_offset": 9738240, + "gid": 0, + "header_offset": 9737728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h", + "sha256": "79619807973c2ef13c659fa7b489d03b4f0d33999abdc6e764f24361d2b0175b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16565, + "data_offset": 9740288, + "gid": 0, + "header_offset": 9739776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h", + "sha256": "d0fa2a152a1ccae57677a247f8d3d0e0b7587b8c278b0a25599d93cfec060474", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2454, + "data_offset": 9757696, + "gid": 0, + "header_offset": 9757184, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h", + "sha256": "169467579ba4adbfd804265ac2bd7359ef16c79391fa6602f4d7f2033061bf6b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4631, + "data_offset": 9760768, + "gid": 0, + "header_offset": 9760256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h", + "sha256": "bb80a90527416b1719df1eb3f393a33a0dc0ea441192dacc83e58c69574f52da", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2013, + "data_offset": 9766400, + "gid": 0, + "header_offset": 9765888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h", + "sha256": "89196b6ff62143633c6a518df1836c04bb72e30afb08224e0dbdd75128069274", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4832, + "data_offset": 9768960, + "gid": 0, + "header_offset": 9768448, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h", + "sha256": "8d7d741b2c71b3c7e40e6391815f74052648c61c43ab79119776e74722dcba04", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5296, + "data_offset": 9774592, + "gid": 0, + "header_offset": 9774080, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h", + "sha256": "f1393db4cd32c375b0ce3214da19c2349b24b7fa74d40afa387df74e30927dd1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1408, + "data_offset": 9780736, + "gid": 0, + "header_offset": 9780224, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h", + "sha256": "8212903dda4dede929ebe9dce14e52a435e858d377e1e2e32431d307f3a7c9c9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6554, + "data_offset": 9782784, + "gid": 0, + "header_offset": 9782272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h", + "sha256": "f6cde179c507cc69043d9dd279051d105070ac06dcda4b053e85b0c24763e3b4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 35834, + "data_offset": 9789952, + "gid": 0, + "header_offset": 9789440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h", + "sha256": "7e3b1ccb1268f0a3068503204f0de815e4bf7744b1c519f47f1a9673e10a3188", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17660, + "data_offset": 9826304, + "gid": 0, + "header_offset": 9825792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h", + "sha256": "803a42ad4f6efc53d2e7da1e0860f2bf1431e30a274e2208d32c4c8db4609005", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3366, + "data_offset": 9844736, + "gid": 0, + "header_offset": 9844224, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h", + "sha256": "20af661619be8b238c7e86125de78ee17ff8c1df86ba14819bc2f5d8c5d236b8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5396, + "data_offset": 9848832, + "gid": 0, + "header_offset": 9848320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h", + "sha256": "1615a0e5983a6ae79f9cd34924a43c6b6bc5bc63cd0bd8f688775fc7b41c1b8f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 68181, + "data_offset": 9854976, + "gid": 0, + "header_offset": 9854464, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h", + "sha256": "3b4f5d131eaaf0b85bd32d96b745296829e8b041e51f3edef9b315d95778e84e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20401, + "data_offset": 9924096, + "gid": 0, + "header_offset": 9923584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h", + "sha256": "f8cd58ea9fb282c54da1234af84636a1c3a048ec945f994376afcbc4e752c505", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 885, + "data_offset": 9945088, + "gid": 0, + "header_offset": 9944576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h", + "sha256": "fe068e90580c6b374a6edac2c134b2c4180d393a0147e373cefa33cf2869d1cc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6525, + "data_offset": 9946624, + "gid": 0, + "header_offset": 9946112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h", + "sha256": "99071fb0b5ecdf2815fbbfe637ed7c4b89dcfa1e524c5b818af845ca0db0cbb3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3388, + "data_offset": 9953792, + "gid": 0, + "header_offset": 9953280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h", + "sha256": "47dd314e60d70600a3f8dcc7a7ac53510c59dce4a6d25adb57fda92e8b315201", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6900, + "data_offset": 9957888, + "gid": 0, + "header_offset": 9957376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h", + "sha256": "6bec4dbf6021c2e28cb381ac74f8fe642643c1b3089e0cf5ddd2adf96f672eb9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3351, + "data_offset": 9965568, + "gid": 0, + "header_offset": 9965056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h", + "sha256": "8ba13aba55db5db81c466ba6746d4f69f5d42fa2fc9b003bbbf5e85e9fe3ee06", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1410, + "data_offset": 9969664, + "gid": 0, + "header_offset": 9969152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h", + "sha256": "09fe308dede2d6b4440bfab52635e68e4d6530e9a63d49824dec7e67bd8a7d4e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 113480, + "data_offset": 9971712, + "gid": 0, + "header_offset": 9971200, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h", + "sha256": "f68d0a5f637239065ad46e0f6bcc840d3491e33b391ed85844eb1983b9d34f81", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1177, + "data_offset": 10085888, + "gid": 0, + "header_offset": 10085376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h", + "sha256": "586e49f5466bd85323f6b458ba8c1beb99bed3bfb5f62fbe8a2ad5bbb87c26b1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10087936, + "gid": 0, + "header_offset": 10087424, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/libexec", + "raw_path": "./usr/libexec", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10088448, + "gid": 0, + "header_offset": 10087936, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/libexec/gcc", + "raw_path": "./usr/libexec/gcc", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10088960, + "gid": 0, + "header_offset": 10088448, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/libexec/gcc/x86_64-linux-gnu", + "raw_path": "./usr/libexec/gcc/x86_64-linux-gnu", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10089472, + "gid": 0, + "header_offset": 10088960, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/libexec/gcc/x86_64-linux-gnu/13", + "raw_path": "./usr/libexec/gcc/x86_64-linux-gnu/13", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10089984, + "gid": 0, + "header_offset": 10089472, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/libexec/gcc/x86_64-linux-gnu/13/plugin", + "raw_path": "./usr/libexec/gcc/x86_64-linux-gnu/13/plugin", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 192440, + "data_offset": 10090496, + "gid": 0, + "header_offset": 10089984, + "kind": "file", + "linkname": "", + "mode": 493, + "path": "usr/libexec/gcc/x86_64-linux-gnu/13/plugin/gengtype", + "raw_path": "./usr/libexec/gcc/x86_64-linux-gnu/13/plugin/gengtype", + "sha256": "b4ac168aa2971fd6c11706989d11fc9221f28d05e38f2bac5a7ea8f222d43587", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10283520, + "gid": 0, + "header_offset": 10283008, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/share", + "raw_path": "./usr/share", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10284032, + "gid": 0, + "header_offset": 10283520, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/share/doc", + "raw_path": "./usr/share/doc", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10284544, + "gid": 0, + "header_offset": 10284032, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/share/lintian", + "raw_path": "./usr/share/lintian", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10285056, + "gid": 0, + "header_offset": 10284544, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/share/lintian/overrides", + "raw_path": "./usr/share/lintian/overrides", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 43, + "data_offset": 10285568, + "gid": 0, + "header_offset": 10285056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/share/lintian/overrides/gcc-13-plugin-dev", + "raw_path": "./usr/share/lintian/overrides/gcc-13-plugin-dev", + "sha256": "bc01f6e7ef2515ceda4957af98609a67c6d91668e78634401071e89f053fdc9b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10286592, + "gid": 0, + "header_offset": 10286080, + "kind": "symlink", + "linkname": "gcc-13-base", + "mode": 511, + "path": "usr/share/doc/gcc-13-plugin-dev", + "raw_path": "./usr/share/doc/gcc-13-plugin-dev", + "typeflag": "32", + "uid": 0 + } + ] + } +} diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-PAYLOAD-v2.json b/research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-PAYLOAD-v2.json new file mode 100644 index 0000000000..1a8cad5b41 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/PLUGIN-PAYLOAD-v2.json @@ -0,0 +1,14947 @@ +{ + "alias_policy": "Kinds/linknames retained; no symlink/hardlink flattened or executed", + "archive_decoding": [ + { + "compressed_bytes": 12242, + "compressed_cap": 67108864, + "decompressed_bytes": 51200, + "decompressed_cap": 268435456, + "frame_compressed_bytes": 12242, + "frame_content_bytes_checked_before_allocation": 51200, + "library_bytes": 755864, + "library_realpath": "/usr/lib/x86_64-linux-gnu/libzstd.so.1.5.5", + "library_sha256": "0a2128bc10841fb29e76d08d945864dfb0b6a66da5df6df5d8299197439e54bb", + "library_spelling": "/lib/x86_64-linux-gnu/libzstd.so.1", + "member": "control.tar.zst", + "method": "system libzstd via stdlib ctypes, passive one-frame decompression", + "tar_sha256": "b5a91b48964ad8da663aa8616cc8edb194b738feeab8d72b16c9134975fb5e47", + "unknown_size_policy": "fixed 64KiB blocks, explicit decoder window ceiling, aggregate output cap" + }, + { + "compressed_bytes": 1439435, + "compressed_cap": 67108864, + "decompressed_bytes": 10291200, + "decompressed_cap": 268435456, + "frame_compressed_bytes": 1439435, + "frame_content_bytes_checked_before_allocation": null, + "library_bytes": 755864, + "library_realpath": "/usr/lib/x86_64-linux-gnu/libzstd.so.1.5.5", + "library_sha256": "0a2128bc10841fb29e76d08d945864dfb0b6a66da5df6df5d8299197439e54bb", + "library_spelling": "/lib/x86_64-linux-gnu/libzstd.so.1", + "member": "data.tar.zst", + "method": "system libzstd via stdlib ctypes, passive one-frame decompression", + "tar_sha256": "c69b8a340df7e78bcc1caa7d1d3f05604c6b19c200fb429d90f8e9e0410f482e", + "unknown_size_policy": "fixed 64KiB blocks, explicit decoder window ceiling, aggregate output cap" + } + ], + "extracted_regular_members": [ + { + "bytes": 684, + "data_offset": 1024, + "gid": 0, + "header_offset": 512, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "control", + "raw_path": "./control", + "retained_equal_existing_partial": true, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/control", + "sha256": "4bc09829ffea727e7f43f6b14150798e1e784a3dd2b48adef5b578b9aedfa1bd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 45223, + "data_offset": 2560, + "gid": 0, + "header_offset": 2048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "md5sums", + "raw_path": "./md5sums", + "retained_equal_existing_partial": true, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/md5sums", + "sha256": "3f23ce0979a27ac4a8d8e178468e1565055e44935f381ffe9bcb4c103e0a5f68", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4978, + "data_offset": 1376768, + "gid": 0, + "header_offset": 1376256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def", + "sha256": "023fa7450452b94ef3d2c508b2a378e59d8688f30699769ce0ed6d2bfeceac48", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2945, + "data_offset": 1382400, + "gid": 0, + "header_offset": 1381888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h", + "sha256": "f3d9edb2e4328d6c9619e835b87b5e3f6e14d4ede997bbb73d1bff083c80bc00", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2184, + "data_offset": 1385984, + "gid": 0, + "header_offset": 1385472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h", + "sha256": "c5b72a9516a7eca30a957d1f76cc7c8a932e0a28583b3098e99375a9b25f5c88", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2507, + "data_offset": 1389056, + "gid": 0, + "header_offset": 1388544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h", + "sha256": "4c9ae2bac830bd5024c670a17296f902aa9bba4584c30317f02eb5fbcb1526e7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 224, + "data_offset": 1392128, + "gid": 0, + "header_offset": 1391616, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def", + "sha256": "bcad5255616b42ac69bbb250184c8cce7e020d1330397fd22d78c8daea826a15", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15524, + "data_offset": 1393152, + "gid": 0, + "header_offset": 1392640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h", + "sha256": "536ca12849b965f7516424aff8e05cbbb54b802eb29c92f548af3217c3fcde32", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11777, + "data_offset": 1409536, + "gid": 0, + "header_offset": 1409024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h", + "sha256": "06716406a6cd33f5bf987864ce2ffe27a5977393bfb28b7ce87621a67e05f91d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1535, + "data_offset": 1422336, + "gid": 0, + "header_offset": 1421824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h", + "sha256": "af336c61ed00f1362de0043ceb92f06fe5f7360f2f4a11bfb5c8ba92702fd57e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8837, + "data_offset": 1424384, + "gid": 0, + "header_offset": 1423872, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h", + "sha256": "7c9f6f7fe091d89eb48ead7aaf5bc26a177a90c4e76739e1839c88cfbb70f023", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8716, + "data_offset": 1434112, + "gid": 0, + "header_offset": 1433600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h", + "sha256": "f45972c3926988376dacf76a0003996a5a7a1dd26397380774d9c810aae3eab7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13872, + "data_offset": 1443840, + "gid": 0, + "header_offset": 1443328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h", + "sha256": "ce4072bfd29536a4b8e91c985f19ae31a3b7650b4f0ce2f06c291551693b0d77", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 59854, + "data_offset": 1458688, + "gid": 0, + "header_offset": 1458176, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "sha256": "9ada1fb9d8c6f4d39e950fc3dfcefb81767c418d924a7e254774bda30e5a4537", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1143, + "data_offset": 1519104, + "gid": 0, + "header_offset": 1518592, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h", + "sha256": "8527a175c79dba1a8a8f77b128e6cd4adf210d6a13bf7f21324f2a75044bdcfa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 40843, + "data_offset": 1521152, + "gid": 0, + "header_offset": 1520640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "sha256": "2af4b5b1ac67ee4075226fe87c19e0926c430c9e560034da071e6581902623a5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1067, + "data_offset": 1562624, + "gid": 0, + "header_offset": 1562112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h", + "sha256": "a769348fbcf2cc4f62cb4104535b37328472ff6679e9d4ebd7525a91b1ac4f9f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18619, + "data_offset": 1564672, + "gid": 0, + "header_offset": 1564160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h", + "sha256": "f2619ee16c3a42f950b0b427af2956dcbf2a22fb7041fd43b529331fbd3ca4bf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1277, + "data_offset": 1584128, + "gid": 0, + "header_offset": 1583616, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h", + "sha256": "e7d3be61e74749602b32d77554f5d56de18f5ef167867b250e482e64406a8f17", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 37570, + "data_offset": 1586176, + "gid": 0, + "header_offset": 1585664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h", + "sha256": "fdd9be6d48e92ca2fcd053c56c3e746d120745f51fe1acbc1f4490ffb54156db", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20110, + "data_offset": 1624576, + "gid": 0, + "header_offset": 1624064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def", + "sha256": "fdc2318336bbbd9a51502898c6b46e625ead62fe907aad576f35f7569fd8b26a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 53342, + "data_offset": 1645568, + "gid": 0, + "header_offset": 1645056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def", + "sha256": "a7e984fe65c232e518c037d5bb4d16cf74e8f81738eed401492248b164196264", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 95755, + "data_offset": 1699840, + "gid": 0, + "header_offset": 1699328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def", + "sha256": "bbd89bafc02c73b4ec6b15b4322fc517fa8fe58ded45a747892b0e4f12d78d0b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7200, + "data_offset": 1796608, + "gid": 0, + "header_offset": 1796096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h", + "sha256": "15c5c27a7b2e9be79373d761604f12a4ed74d3504778d4a2469f0356807fca79", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 171, + "data_offset": 1804800, + "gid": 0, + "header_offset": 1804288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h", + "sha256": "8ad05936a160214baea3c8aadede4475fdf3ece6962f85e61e962fd6590b11ef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4172, + "data_offset": 1806336, + "gid": 0, + "header_offset": 1805824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def", + "sha256": "4385cc13d39e61053458f6d79ab7626c136c03b58976d613a33732351c295f18", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 59318, + "data_offset": 1811456, + "gid": 0, + "header_offset": 1810944, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h", + "sha256": "d5498885fbcd854b4c26f557501490d5e00b40c549270d10b7bc11a9320ed7f7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8033, + "data_offset": 1871360, + "gid": 0, + "header_offset": 1870848, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h", + "sha256": "460eb8b3721b06a7d87e4f19083d96ba7a78a56ab312b5a68d659ec42420195a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9549, + "data_offset": 1880064, + "gid": 0, + "header_offset": 1879552, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h", + "sha256": "14a75ae7cdb8b0e84b4269f0afb2f8dbf429e840ec42f609511602da8e8da98a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5324, + "data_offset": 1890304, + "gid": 0, + "header_offset": 1889792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h", + "sha256": "fc1bd1ad525e0ee3b6b481b8038aad31b98fe8dbebb1f3ffcea9e75987c45d82", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 35134, + "data_offset": 1896448, + "gid": 0, + "header_offset": 1895936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h", + "sha256": "bdd621639433a009ef8ab0204f78ba4020c9f6357b246234f6bf3939017cceaa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5291, + "data_offset": 1932288, + "gid": 0, + "header_offset": 1931776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h", + "sha256": "188f6dd04a978928c8ef21b6a6ec30b467d57da3e3b1c8d9828aa1023a32d830", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 845, + "data_offset": 1938432, + "gid": 0, + "header_offset": 1937920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h", + "sha256": "84864c1ceac3d4e5a8dcde662ce2ca9652fa687d7df61c1b1a73d68193b874ef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6828, + "data_offset": 1939968, + "gid": 0, + "header_offset": 1939456, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def", + "sha256": "f5566f1fab9f1589b2c7b9d96c9b73dcbc02523f686bc264d07c3d03a9efd8fb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6429, + "data_offset": 1947648, + "gid": 0, + "header_offset": 1947136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h", + "sha256": "2288eb67df53ccfcdff79d0a9d8fb690f06c2de84e5bd5c2c1b307f371c635b6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3473, + "data_offset": 1954816, + "gid": 0, + "header_offset": 1954304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h", + "sha256": "9d1626ebff3462fc9b4f8518ea47992e84dd112f63fe6e6b7fe31270ddcdecc5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1016, + "data_offset": 1958912, + "gid": 0, + "header_offset": 1958400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h", + "sha256": "75674de6ab66278b0b0991e2ba376482c273b2f7e8d025650a85e5285a2b598e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1303, + "data_offset": 1960448, + "gid": 0, + "header_offset": 1959936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h", + "sha256": "cb1dfd9de683927cbaae3e207f0aa98aeb07cab5147180017dd7a11cc9fc8a78", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 966, + "data_offset": 1962496, + "gid": 0, + "header_offset": 1961984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h", + "sha256": "d9b617983dc0a9ab8d4b648c63ff0b633b7e2f81768cde0dc36368f46c34e3a1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11428, + "data_offset": 1964032, + "gid": 0, + "header_offset": 1963520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h", + "sha256": "1fdd54693186cb5c8abf38667ac146e94bc69164049da65bd34275b7fcf85da0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27914, + "data_offset": 1976320, + "gid": 0, + "header_offset": 1975808, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h", + "sha256": "fe09467eea2c176f44e53a0d369d18ad6a489620dd18b426d1d3c40e6f095167", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2499, + "data_offset": 2004992, + "gid": 0, + "header_offset": 2004480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h", + "sha256": "d5287436e49903f67cfbb8137e0a028a5a541df43b0252023d37ae17a9491226", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2688, + "data_offset": 2008064, + "gid": 0, + "header_offset": 2007552, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h", + "sha256": "3ccab97cd645994aecb66045edb13b71017dbf012ee086b97cd6dcb22781be99", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 124842, + "data_offset": 2011648, + "gid": 0, + "header_offset": 2011136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h", + "sha256": "77b643cde2dc6c81e6e28d3265c05dd1ddb4c99d9b37841901a35edc08e8e612", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5632, + "data_offset": 2137088, + "gid": 0, + "header_offset": 2136576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def", + "sha256": "f27acb01a17cc0c62c01aa4982155115bfd69deeec1766e3c26cd630973d2405", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1694, + "data_offset": 2143232, + "gid": 0, + "header_offset": 2142720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h", + "sha256": "69db322f7d423f2e7bfcdf0ccae1c90c3853c69ac8c209c0e894d6784f0d19b7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8594, + "data_offset": 2145792, + "gid": 0, + "header_offset": 2145280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h", + "sha256": "7870fdbea37370be7ec92824a4fe4e7c24bfe62767b448801efccfa0f83df7bd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1308, + "data_offset": 2155008, + "gid": 0, + "header_offset": 2154496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h", + "sha256": "ffc4a02f68215b91971535d2569ddb46c65626f83aad16bb9d7cc5e31280e10d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4891, + "data_offset": 2157056, + "gid": 0, + "header_offset": 2156544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h", + "sha256": "baa85177f344454041d22b1147ed169ab68064beb0cd4a7adfc8fcbeefca7b3f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6023, + "data_offset": 2164224, + "gid": 0, + "header_offset": 2163712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h", + "sha256": "5bab14b3fb8ef807879c249b52041d158c3983e5c149f175cdc7aacb865f188a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2766, + "data_offset": 2170880, + "gid": 0, + "header_offset": 2170368, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h", + "sha256": "15954fefc8d00dd5d2a3ceaf17f957a78bcf08ca25681703fba345649bf4c97a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17996, + "data_offset": 2174976, + "gid": 0, + "header_offset": 2174464, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h", + "sha256": "255fe5da07efc03e66574ab45a1c92deb4ed7cc064f83677e1cae109065b8354", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2854, + "data_offset": 2193920, + "gid": 0, + "header_offset": 2193408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h", + "sha256": "45e61be0214122daed3ce73a9edec9709c8d1b191a424ed6efd6db4d5b31f032", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6054, + "data_offset": 2197504, + "gid": 0, + "header_offset": 2196992, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "sha256": "8f3518bc748dd1f7c1f19bcc2d59201405b5a599820256ff1ecdf9ea63392daf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3186, + "data_offset": 2204672, + "gid": 0, + "header_offset": 2204160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h", + "sha256": "48cc90a7598d0ab51a85b0cf3143f187610754da7c47ecd9ac463f2c9d5cec29", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1293, + "data_offset": 2208768, + "gid": 0, + "header_offset": 2208256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h", + "sha256": "a6fe8538bcc4db531f57ddb5b80d28e09b05c875e497f58542ff7fa4252cdfef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2629, + "data_offset": 2210816, + "gid": 0, + "header_offset": 2210304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h", + "sha256": "14a738ecc63fc02ceb153060c87722d3417ebf5564ca7889f2f27c742f20285c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3309, + "data_offset": 2214400, + "gid": 0, + "header_offset": 2213888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "sha256": "5507732a24911a39abbf7d2526fd8c1b09db98c0519b7388b7143a3c01bdbccb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2399, + "data_offset": 2218496, + "gid": 0, + "header_offset": 2217984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def", + "sha256": "d4d39a44bc16d20dc2c8a10ad4b70156a548e2d38a32fda01811a253d8f4952a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3322, + "data_offset": 2221568, + "gid": 0, + "header_offset": 2221056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h", + "sha256": "84ae505f2aeabbece530164dbefa82465b943331e490bb73ce40d088d9879ce9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17536, + "data_offset": 2225664, + "gid": 0, + "header_offset": 2225152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h", + "sha256": "d5a24ab0e669449ec51b483c5472cdf185ce5804c56d014103cee611eabc65df", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 113489, + "data_offset": 2244096, + "gid": 0, + "header_offset": 2243584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h", + "sha256": "55f2cea099e92f2bc0649599d708726fab531a10e9ee15456af35a4975599d21", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2346, + "data_offset": 2358272, + "gid": 0, + "header_offset": 2357760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h", + "sha256": "eb6e3de8ee383f691f2b83c0cdafe8f1687c06c703f0854623dc71569304622b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1669, + "data_offset": 2361344, + "gid": 0, + "header_offset": 2360832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "sha256": "9007684d92746203c280b53a69debfff75851e31c1cd9ce6cd5c61f705d5179c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1040, + "data_offset": 2363904, + "gid": 0, + "header_offset": 2363392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def", + "sha256": "ca5f3b59774dade073e1fc95a86c933634b8407437f250a7882fa762967f158d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2878, + "data_offset": 2365952, + "gid": 0, + "header_offset": 2365440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h", + "sha256": "f6896474c5b3fbc38927276acb79abc519e71b98bba82a614cd05052c24cee28", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2982, + "data_offset": 2369536, + "gid": 0, + "header_offset": 2369024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h", + "sha256": "fecefad6255ddd8d60d9f3b546024a93db37dce7ccf277668de35336ce837471", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 33406, + "data_offset": 2373120, + "gid": 0, + "header_offset": 2372608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def", + "sha256": "864bcae5ff7ba9991e056b5b8dbbe257b2169ac2996bfcd65aab3e80054f9bf3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1625, + "data_offset": 2407424, + "gid": 0, + "header_offset": 2406912, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h", + "sha256": "3b824fa8ab2a86c5b8e5a72b4c868e569780d5e867d80755538e483cdf04b4ab", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1947, + "data_offset": 2409984, + "gid": 0, + "header_offset": 2409472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h", + "sha256": "875e34fffe6e6bf06cecb83c1edfc221c6bb61a096ef38c60abe63914c72d297", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 811, + "data_offset": 2412544, + "gid": 0, + "header_offset": 2412032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h", + "sha256": "4240c4b506975f484248da9a3c668aacd837dba532be7d6d174f40405c9561af", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8504, + "data_offset": 2414080, + "gid": 0, + "header_offset": 2413568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "sha256": "ce71be1f80fac59483042c6dd421bd267765c44f977505955b2718e30da612c4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1611, + "data_offset": 2423296, + "gid": 0, + "header_offset": 2422784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h", + "sha256": "f86e24a101cf141fab63458b812e0aed5bde16850a24d1045f6cebbc2977f3cc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 217, + "data_offset": 2425856, + "gid": 0, + "header_offset": 2425344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "sha256": "41150681fe15436d17aa3a0b45b57345a65238fb945b14b0ca2bdf857e723e48", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1640, + "data_offset": 2426880, + "gid": 0, + "header_offset": 2426368, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "sha256": "987c0a46b31907a609c15c749988921053bdf81e77d3a695c981d7be7a9378fc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1732, + "data_offset": 2429440, + "gid": 0, + "header_offset": 2428928, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h", + "sha256": "aafa561687a1cc40f753d8085f357a82db14b291f195e98f7409606439004c94", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1848, + "data_offset": 2432000, + "gid": 0, + "header_offset": 2431488, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h", + "sha256": "b37b99a1b2bb94e6267ac860b76683eea2ce19e53b51ec0899ac5b1c5b97b2c2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15197, + "data_offset": 2434560, + "gid": 0, + "header_offset": 2434048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h", + "sha256": "169d3b325ba9957aa6dc3953bb26dfed3bed2618950585f1891d4ab9375def21", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1927, + "data_offset": 2450432, + "gid": 0, + "header_offset": 2449920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def", + "sha256": "9b7e57e064c7740d204e9bc19eda510646e3a0801978770e8eef3bf124e662a9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2308, + "data_offset": 2452992, + "gid": 0, + "header_offset": 2452480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h", + "sha256": "5e566a797e02c4abd09b0102310950625e8d325264a17fdbb0817448ca99bbf1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9714, + "data_offset": 2456576, + "gid": 0, + "header_offset": 2456064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h", + "sha256": "35d2eb58bf53d383c73d7c362148c2ff354fb2691ac0a86e65562757bf6ffdeb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4936, + "data_offset": 2466816, + "gid": 0, + "header_offset": 2466304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def", + "sha256": "c2ed08f00e4a126eb18bb8668fa966d8d66ebfdc57f65dcc4a66b607f0b3c252", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27148, + "data_offset": 2472448, + "gid": 0, + "header_offset": 2471936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def", + "sha256": "a3d582ccb91cae886555cfe3541283787a2659c1b310d5a4fed427cd54120563", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 350792, + "data_offset": 2500608, + "gid": 0, + "header_offset": 2500096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h", + "sha256": "78c10c94738de11dae4cba0de0e6c81b3f8f4431ca9b2b916d5812663af1020c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4883, + "data_offset": 2852352, + "gid": 0, + "header_offset": 2851840, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h", + "sha256": "533988176d9313b5e081e45c52f0ef1a86e9d518548fdf1f2ae56f2ff71b1a2f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18488, + "data_offset": 2857984, + "gid": 0, + "header_offset": 2857472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h", + "sha256": "3c012c6827b6efa1c9477ecb59b3147036888f0e0183614ef3a7847bad5c89b4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6848, + "data_offset": 2877440, + "gid": 0, + "header_offset": 2876928, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def", + "sha256": "5b3199c6d97f307cb6bbb296e30f7518900548c12d1c8f45699e4e54bd40d2a1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1877, + "data_offset": 2885120, + "gid": 0, + "header_offset": 2884608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h", + "sha256": "3d0f20f1400cbef0786ee4871e656a20a4ab80315641b11e4efddaa79c016888", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1174, + "data_offset": 2887680, + "gid": 0, + "header_offset": 2887168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h", + "sha256": "172a64e3f9a2dc4d2b05bcb3e16716336160ebd801cc17bbde02c81232a9407f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2987, + "data_offset": 2889728, + "gid": 0, + "header_offset": 2889216, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h", + "sha256": "d105e4f83c7403684db87493b30f52304d6a7c4a3ada1f56d3d2fa1d565e007c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 57534, + "data_offset": 2893312, + "gid": 0, + "header_offset": 2892800, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h", + "sha256": "2b9fc43ca45c7d844989c3a04dc311885a3b3537d25166d293a0ec092461bdc0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4592, + "data_offset": 2951680, + "gid": 0, + "header_offset": 2951168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h", + "sha256": "3e3f877bf198338a5bec51c76e87351f246abb69088e7531fef51db2c80e7c84", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15687, + "data_offset": 2956800, + "gid": 0, + "header_offset": 2956288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h", + "sha256": "96197421f357e1e3b007a1757b6f77bb3d76800f453527fb62f547523669d3bc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1386, + "data_offset": 2973696, + "gid": 0, + "header_offset": 2973184, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def", + "sha256": "a07d2e1d5354fef980d33ad14614b445cb1246e3b3222d8dc27eb443f502d484", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10999, + "data_offset": 2975744, + "gid": 0, + "header_offset": 2975232, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h", + "sha256": "e5b02a3dfb361820a5b24fc1710b38666626cc13fb78311332d1ae601a13a873", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6668, + "data_offset": 2987520, + "gid": 0, + "header_offset": 2987008, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def", + "sha256": "68d2ba3391fbcd277d748eecd075b18f8610539a7c4600ac49dbd46b18a17cfc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1229, + "data_offset": 2995200, + "gid": 0, + "header_offset": 2994688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h", + "sha256": "e5f9da2c42dfc0ce09a321a7fb324a63b0ff6c789d761191be58c1c8af7b8e05", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 877, + "data_offset": 2997248, + "gid": 0, + "header_offset": 2996736, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h", + "sha256": "0d029fe1379ceed3849f271390cc12c98359a16631da462f8ba5f12c9131bec8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5459, + "data_offset": 2998784, + "gid": 0, + "header_offset": 2998272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h", + "sha256": "2b647e04c726df5ed328fde718ce5b996366831578c0d1591bf38620be092a06", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11479, + "data_offset": 3004928, + "gid": 0, + "header_offset": 3004416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h", + "sha256": "d3ce98401f5216d6ff167a2701ac6547ef332e1a98eb933778526dd866b6aced", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 42136, + "data_offset": 3017216, + "gid": 0, + "header_offset": 3016704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "sha256": "012ff1fece4d6d52b00647a49472045054094afa11637d7d5fdaced73ab95eae", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 48230, + "data_offset": 3060224, + "gid": 0, + "header_offset": 3059712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h", + "sha256": "ce939e0a7ae288d5d5ed39993f69eca3b2696f8fd9d3d7ba1c8382a6a98fb14f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2361, + "data_offset": 3109376, + "gid": 0, + "header_offset": 3108864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h", + "sha256": "6550085e484d044a7f674ada222696b618520b3028cf2d5916a2e36916d523aa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3567, + "data_offset": 3112448, + "gid": 0, + "header_offset": 3111936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h", + "sha256": "8470edd627b9faa12436145be03125fb8d6359804f88d267056434bb9c1d4cca", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2302, + "data_offset": 3116544, + "gid": 0, + "header_offset": 3116032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h", + "sha256": "0f84d9affbe4c7be3f20b7594db32ac7a8b8b1a5ab6e90045b6e6eeef9cf2bdb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5214, + "data_offset": 3119616, + "gid": 0, + "header_offset": 3119104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h", + "sha256": "2a5d445b78fc1981fc32e9b1ec2ed84b26f7009459b05dc8086bb9dec2002a54", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2084, + "data_offset": 3125760, + "gid": 0, + "header_offset": 3125248, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h", + "sha256": "8f33443da1ae6a5b747ceb0a43f824a65ee10c5205ec3a8ce5909244300aa08d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2270, + "data_offset": 3128832, + "gid": 0, + "header_offset": 3128320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h", + "sha256": "aba695214641b9efe0623f1e9ab999d116912405a5cdccdf3f3b3dd3671b7983", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6885, + "data_offset": 3131904, + "gid": 0, + "header_offset": 3131392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h", + "sha256": "e97bc1cab6272b6aebeefabf0e53e6fbed508bcd82cb90b4fa814a3e92ebdab9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3628, + "data_offset": 3139584, + "gid": 0, + "header_offset": 3139072, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h", + "sha256": "0be5036f3162914a45a387f325f24ef7c00491f53f232053e9ac6e6c16827f05", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1587, + "data_offset": 3144192, + "gid": 0, + "header_offset": 3143680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h", + "sha256": "0e6546e3a19732b9522a15a54aa56f5e0c76ed691cb152ce96f2fd7b3f0926a8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2645, + "data_offset": 3146752, + "gid": 0, + "header_offset": 3146240, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def", + "sha256": "d13eaa301a150ba0415fb5cd8f5f22e001bdabccadb7b3a4a6b02dbaa42cd909", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22673, + "data_offset": 3150336, + "gid": 0, + "header_offset": 3149824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h", + "sha256": "94781ae0ab138d083f6679a1521071723de43930ad8ee077d58b2c165bbf4242", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6740, + "data_offset": 3173888, + "gid": 0, + "header_offset": 3173376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h", + "sha256": "5e6c941c7cfd22065c77c2d1f17af5c2658544e28805c7c3aabeb3f7da0d6d94", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 488, + "data_offset": 3181568, + "gid": 0, + "header_offset": 3181056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "sha256": "2ccde3e3cbe4fc9fba8da310295f775d5bd77d9742090f74708f4ff24f683f6d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3015, + "data_offset": 3182592, + "gid": 0, + "header_offset": 3182080, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h", + "sha256": "b1ed271ed0b8aa8a93f57d8977709d60a210c12b6cffadd8d6bf57dde9fe5b0f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3653, + "data_offset": 3186176, + "gid": 0, + "header_offset": 3185664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h", + "sha256": "961c8c913939e13d4852f3a570366c29fefdd40f0964dec97ee505f647586b8f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4558, + "data_offset": 3190784, + "gid": 0, + "header_offset": 3190272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h", + "sha256": "db08d680f9cdc82f5e28833151567a9d08822b83bb400427d085d870a0dc809b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13501, + "data_offset": 3195904, + "gid": 0, + "header_offset": 3195392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h", + "sha256": "82206f0bf9b69a31fc1a3b12fd8f49a872e58db4df289106580356a6fb688c06", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9321, + "data_offset": 3210240, + "gid": 0, + "header_offset": 3209728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h", + "sha256": "17d8b5525f58ed35c4464cdade8e6464ef9dee9ef256a0eccc4eaeeddc520ed2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 23434, + "data_offset": 3220480, + "gid": 0, + "header_offset": 3219968, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h", + "sha256": "9d27e3418748299347a59ab42ff93c640e520ea31e0c3c76c61f5b5f93654086", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3153, + "data_offset": 3244544, + "gid": 0, + "header_offset": 3244032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h", + "sha256": "1f6bf7e4d5ae00679873a10a3fe49b988fa4639b7260f875fb11230749d0c99c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1993, + "data_offset": 3248640, + "gid": 0, + "header_offset": 3248128, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h", + "sha256": "c114e1458772074b645a9f8c631afc9beffd0e229223576c3cdb340ab1827a2e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16250, + "data_offset": 3251200, + "gid": 0, + "header_offset": 3250688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h", + "sha256": "0303929170f719d93b6cdfb7087ad5382cda932518e1d46adf044675194f9936", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2189, + "data_offset": 3268096, + "gid": 0, + "header_offset": 3267584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h", + "sha256": "e98acf62a5e89d7bad5fc45b533abf35de9d9020217aec6f93bdbee51a7cf667", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20076, + "data_offset": 3271168, + "gid": 0, + "header_offset": 3270656, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h", + "sha256": "56b4b8df8e0985a35eccff9695b2b8da669369a358d36f50f82e82e9305cfc39", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1596, + "data_offset": 3292160, + "gid": 0, + "header_offset": 3291648, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h", + "sha256": "dfe0ce5c23a94e691cfc94d3a0acae1ae2dcc9b237b6ff7e1944429a90cec695", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1382, + "data_offset": 3294720, + "gid": 0, + "header_offset": 3294208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h", + "sha256": "0675494730bc2bc17b41e19765e4a96dc360a6fe451a1890ac23355988f46bff", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2693, + "data_offset": 3296768, + "gid": 0, + "header_offset": 3296256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h", + "sha256": "686244bfa730ce91232887f22bbb0b9413043a714424baffca2aa3bc90d6aea4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 12244, + "data_offset": 3300352, + "gid": 0, + "header_offset": 3299840, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h", + "sha256": "ac102cb63acafb40203090aeab74dacb8323bdfed728383112949911172bf4a4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5741, + "data_offset": 3313152, + "gid": 0, + "header_offset": 3312640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h", + "sha256": "fef76c10fe4494ebe014eb320ec641c97ffab633ce9adafbdda0e6c60e1cc5b7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 21038, + "data_offset": 3319808, + "gid": 0, + "header_offset": 3319296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h", + "sha256": "c75c31bdb6fe8e0dbf142fdc299f8f26ec9dff754664e457a49d1de84c6e481b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13805, + "data_offset": 3341824, + "gid": 0, + "header_offset": 3341312, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h", + "sha256": "ab3389f2a5105969867a2dec77eb92f5dd55cfb3c46d26342e5724ee8e47a4dd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16180, + "data_offset": 3356160, + "gid": 0, + "header_offset": 3355648, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h", + "sha256": "c82178ff485d0a61bdbd2450a9ee16caf57e83d98fd37e3326c53593c644e56e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1717, + "data_offset": 3373056, + "gid": 0, + "header_offset": 3372544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h", + "sha256": "0057ddd2bc41631e6069b900bbd34b7895c248d620da2ecde6a07d06d7c77b9a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1245, + "data_offset": 3375616, + "gid": 0, + "header_offset": 3375104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h", + "sha256": "fc606239667d9c5f0549db1d03e64bc1322d73072e92755dfcea9ea1556dde60", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3524, + "data_offset": 3377664, + "gid": 0, + "header_offset": 3377152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h", + "sha256": "93d972961c2d41445faa2ff3ac5ac4aa9f68ac332e31ca32dd77b08ad8830b60", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4155, + "data_offset": 3381760, + "gid": 0, + "header_offset": 3381248, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h", + "sha256": "2312325be7943854df0faade267a89b1454cec041e035614d0499f8ce3a8c538", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15499, + "data_offset": 3386880, + "gid": 0, + "header_offset": 3386368, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h", + "sha256": "5796693bde1e7f9686a857964835bdc7bef1ff9c3a597ef24c1bd8e2eb398d9c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3627, + "data_offset": 3403264, + "gid": 0, + "header_offset": 3402752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h", + "sha256": "52d3cc3697ccb7e70ed38655aee02914046ac9d11284278c2078c88df447d6ee", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1032, + "data_offset": 3407872, + "gid": 0, + "header_offset": 3407360, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h", + "sha256": "94afc3bfb186de354f97612522fd97b07d7b8a552d9d99665aec6804111dff21", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13407, + "data_offset": 3409920, + "gid": 0, + "header_offset": 3409408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h", + "sha256": "f440020333fb36bfc709dad7271c43fdb96229f041dcd9248fa3e30193207afd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11340, + "data_offset": 3424256, + "gid": 0, + "header_offset": 3423744, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h", + "sha256": "4a87c748bc1dbd27969a4ab1a1b50d44e512b3b6d939f07b582002be8c3bb0a9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 26167, + "data_offset": 3436544, + "gid": 0, + "header_offset": 3436032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h", + "sha256": "221af11d18566ae92ed7a523a9a334bc33b1b2b6621e1b30df86544c6c1ffafd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1247, + "data_offset": 3463680, + "gid": 0, + "header_offset": 3463168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h", + "sha256": "14da5c4c72e867d3143078d6b2a4552ea0f69ddc3dc56046cf971e02b5b38811", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6464, + "data_offset": 3465728, + "gid": 0, + "header_offset": 3465216, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h", + "sha256": "c2a70ac4254fb197cb9c67a8167accc6dff3c46f5e324545e325acfc78b446c7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 942, + "data_offset": 3472896, + "gid": 0, + "header_offset": 3472384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h", + "sha256": "1d32456e30d45648cc7c673b5b7164a41e6119336f1f2cd31bc99bf9b9be445a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3073, + "data_offset": 3474432, + "gid": 0, + "header_offset": 3473920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h", + "sha256": "9ccf4af910f55ed3437a891768f184b8b71f13ebf343de0d79c9feb7f073f409", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1894, + "data_offset": 3478528, + "gid": 0, + "header_offset": 3478016, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def", + "sha256": "0088739f71d5b35269c58a6bc6ada86054fb572f241fa349913d36596bb4310b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15775, + "data_offset": 3481088, + "gid": 0, + "header_offset": 3480576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h", + "sha256": "10ee424e78fa32a593879e9aee7cb6f6f40b00ef35d4bd10e7d880e0af7ec0d4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1418, + "data_offset": 3497472, + "gid": 0, + "header_offset": 3496960, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h", + "sha256": "5f157e267c71b120a95972b98cc484e9b7615ce3f8db491760c1d5a8ae735ce8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1497, + "data_offset": 3499520, + "gid": 0, + "header_offset": 3499008, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h", + "sha256": "bce4f75524046f39ccf160d8015b611f8e2a415814cbfe775c3abe6a66c1daa3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1256, + "data_offset": 3501568, + "gid": 0, + "header_offset": 3501056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h", + "sha256": "4115d7893cb95f4120f9ed831b1dd0388310ac85daeac5d23afaf91e2a8606a1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17392, + "data_offset": 3503616, + "gid": 0, + "header_offset": 3503104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h", + "sha256": "1018ca478ee084f9e62d3511e50ad23468fcfa97caedd07906f14da34a54235a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 47491, + "data_offset": 3521536, + "gid": 0, + "header_offset": 3521024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h", + "sha256": "42d108de1fa4567927e5723d516199b34fc863c06b219f8f7cf29361611eb392", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6973, + "data_offset": 3569664, + "gid": 0, + "header_offset": 3569152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h", + "sha256": "83d8a07bd756470d5dbdb9d25e3d3d2740752062d48ca0178b58212216f44ece", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3933, + "data_offset": 3577344, + "gid": 0, + "header_offset": 3576832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h", + "sha256": "c6d76d4363a59a8ad548d6617493eedf9c8602a80d5fa74607efe46f81fef84e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11339, + "data_offset": 3581952, + "gid": 0, + "header_offset": 3581440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h", + "sha256": "82f0910f755cf53737df25fb67a19575be886b82b8d689ccca100bb17419473e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1571, + "data_offset": 3594240, + "gid": 0, + "header_offset": 3593728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h", + "sha256": "fa88c5499e9b77f8661f20508ea78d9b818079251bc0e2744d40b1434f0b8542", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1503, + "data_offset": 3596800, + "gid": 0, + "header_offset": 3596288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h", + "sha256": "8c4d9b5570c51f4e801e26b0c293e11d3732fe37879a06b0ce4c6b4a98a07532", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5158, + "data_offset": 3598848, + "gid": 0, + "header_offset": 3598336, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h", + "sha256": "a4ec8bb41e137b5bb5d8ff884d791b4f5dce3b28b724591bc1784bf5ed65264d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10870, + "data_offset": 3604992, + "gid": 0, + "header_offset": 3604480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h", + "sha256": "b7eae6b1d5defa242a37fd7408b5fdde55fbeea2ee0aec8d9759540c936ca2c0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10423, + "data_offset": 3616768, + "gid": 0, + "header_offset": 3616256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h", + "sha256": "a961105f9d8903b0d79afde450c2a47f69b6eac9b97aebf77d13cd1c2d9400a6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 981, + "data_offset": 3628032, + "gid": 0, + "header_offset": 3627520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h", + "sha256": "69f3378a5afdc45a998194f4c708a567c789b2ce0c4fbe492c1bc40bbeabebd3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8983, + "data_offset": 3629568, + "gid": 0, + "header_offset": 3629056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h", + "sha256": "22962af6a3de149826a8e197ae153d7fffdf50f79dbd0845a794545f25286520", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4972, + "data_offset": 3639296, + "gid": 0, + "header_offset": 3638784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h", + "sha256": "49461de35bd6bb6448d29aad95b9388d1a036374727943cbebedd341b8e644ef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2530, + "data_offset": 3644928, + "gid": 0, + "header_offset": 3644416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h", + "sha256": "dbb82424051d2ab36ad938d31704898b92c0f8999c4aa5e3756c15380133458e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1662, + "data_offset": 3648000, + "gid": 0, + "header_offset": 3647488, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h", + "sha256": "0b5ae839465cfb6be8bb75a1a5c64cd41a0be40bc63c9f38fbae7a8f1afd1523", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4147, + "data_offset": 3650560, + "gid": 0, + "header_offset": 3650048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h", + "sha256": "2b2bb0081f8b72505e3ff1d2e25b6dab3c14a81755d82dc3a32fe7f4ffdb18b1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2144, + "data_offset": 3655680, + "gid": 0, + "header_offset": 3655168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h", + "sha256": "f70a149742d8b6d87cef7e2912fc3ccda35521d5ab9b47c566546cf322c9d261", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6307, + "data_offset": 3658752, + "gid": 0, + "header_offset": 3658240, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h", + "sha256": "0990e92eb8d346fd08962c6c27bbe9e56bf05399fd36ac790e556a67c911bdc5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8692, + "data_offset": 3665920, + "gid": 0, + "header_offset": 3665408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h", + "sha256": "adba924418190f95c63dd1c7a59922fcc18b6bd9d45faaf2ccd12b3191d8a706", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3073, + "data_offset": 3675136, + "gid": 0, + "header_offset": 3674624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h", + "sha256": "73ccc7ad72242c1dade2d85c33e803942cbb50a9e59518bda6023da2392f47ea", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2035, + "data_offset": 3679232, + "gid": 0, + "header_offset": 3678720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h", + "sha256": "9103654748691af3206f7dc00995e9c6c68b3c0cfe9a6294eaf760dfb888adb2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4384, + "data_offset": 3681792, + "gid": 0, + "header_offset": 3681280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h", + "sha256": "0f5bb2bab19be8fbabe84bbd037c39924f78015b9d2b6cf103045e1a86fa2cdb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2383, + "data_offset": 3686912, + "gid": 0, + "header_offset": 3686400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h", + "sha256": "8dd32ec528b1548e6f8e9e85f2412c808ee1c1a9b19942dbce67da7b6d3866f4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3886, + "data_offset": 3689984, + "gid": 0, + "header_offset": 3689472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h", + "sha256": "6e1ec1d0c60117eae8e0b011a85e7dc86f084751362e814decc8c4da1a90dd50", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1934, + "data_offset": 3694592, + "gid": 0, + "header_offset": 3694080, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h", + "sha256": "8930c781c5a7bac209dcd489c3466c59671a98e1ccaa7d3b3a3d2a536407ff68", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1144, + "data_offset": 3697152, + "gid": 0, + "header_offset": 3696640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h", + "sha256": "445c7b6af465bd66f70e984a75edbf9b3d12f78a6a402a3b7c0da62af142fe1d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5477, + "data_offset": 3699200, + "gid": 0, + "header_offset": 3698688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h", + "sha256": "10f6662fd0ac0a31be74d407313e06d9276bd5b298d9be0a762e756eab629045", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1163, + "data_offset": 3705344, + "gid": 0, + "header_offset": 3704832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h", + "sha256": "699116c82b3d4d27f237e7f7e6bb44d7ae82c64654b2b70d89dfc35a29f84738", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4260, + "data_offset": 3707392, + "gid": 0, + "header_offset": 3706880, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h", + "sha256": "fe58ab5c8b95a6c3975b35a075f00e3704f8519968a388c2989b30c0c62e6691", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16974, + "data_offset": 3712512, + "gid": 0, + "header_offset": 3712000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def", + "sha256": "ec4c9c88546fa7cb5130de64224baea8f2f2481206a35825ff5f0725f7be611a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 161475, + "data_offset": 3730432, + "gid": 0, + "header_offset": 3729920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h", + "sha256": "3da4923eb7137e70e89af8e31b0164f5ac9ef3979b32b158fcc68787a091ff2d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1550, + "data_offset": 3892736, + "gid": 0, + "header_offset": 3892224, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h", + "sha256": "13ca97e62e1046c0ee94573bc528f690f21d2c95508e2a4b52a4fd586a1bb448", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3596, + "data_offset": 3895296, + "gid": 0, + "header_offset": 3894784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h", + "sha256": "6dc1920d67c95c1b72f3e530d8a3ebe926952e03c4248dd35d6c8492496ad543", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4718, + "data_offset": 3899904, + "gid": 0, + "header_offset": 3899392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h", + "sha256": "15cc72ece04746fe84d86ca21b4fa473d3d8e9a63e6a187901c047e1d0d4e918", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15067, + "data_offset": 3905536, + "gid": 0, + "header_offset": 3905024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h", + "sha256": "f49c5847a59f70bb7dcf6ce883fad82f88827da128412dc375e72e599a82d9cd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 951, + "data_offset": 3921408, + "gid": 0, + "header_offset": 3920896, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h", + "sha256": "1e7878693178734e3f7692e7da5f40ebd4439d7118a0451f9df0a432939f915b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2293, + "data_offset": 3922944, + "gid": 0, + "header_offset": 3922432, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h", + "sha256": "de279206c8ea8dc4a8078b32f0a38853ac6c03687e3dfddec70056bf66eb09a5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 12497, + "data_offset": 3926016, + "gid": 0, + "header_offset": 3925504, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h", + "sha256": "ccbae957b442f88d088d56aec8f8045b4057653c363115621c46a408658bae23", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1531, + "data_offset": 3939328, + "gid": 0, + "header_offset": 3938816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h", + "sha256": "3a42edc31d2b1c4ac08ba1b3dca541ca909a964efa7646f7010e2ba21a3e30cd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2409, + "data_offset": 3941376, + "gid": 0, + "header_offset": 3940864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def", + "sha256": "1651b558793d700fe1a0c4ac2b9cac5c95ef2e4520f42df76938d6848a3b6add", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1783, + "data_offset": 3944448, + "gid": 0, + "header_offset": 3943936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h", + "sha256": "1d2e65fdd1565fc90923304bdadeeb00384d7d617f28a23d7a76537a52e80893", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 330, + "data_offset": 3947008, + "gid": 0, + "header_offset": 3946496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h", + "sha256": "22dd0ab81baadd5a8d455b445855f341d419c7b0267beca235de00b7ec78e529", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10158, + "data_offset": 3948032, + "gid": 0, + "header_offset": 3947520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def", + "sha256": "b8fe0ca2bae450a6cc5fab57ede4cfb1a59c98cc8451837a9e763d168d5f52df", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 176886, + "data_offset": 3958784, + "gid": 0, + "header_offset": 3958272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h", + "sha256": "02870fb8fd90e7115d52b7893ac70db6fdb19e0189f53235b2e65066c7203855", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16063, + "data_offset": 4136448, + "gid": 0, + "header_offset": 4135936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h", + "sha256": "1531add71cd94bfd441313905a0e233cb3774e10491d634830b3be5d58271dfb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5627, + "data_offset": 4153344, + "gid": 0, + "header_offset": 4152832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h", + "sha256": "0e258c1fca60d02537913288f68f8234ed300e36c824d0515ebe3704436dffc2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10909, + "data_offset": 4159488, + "gid": 0, + "header_offset": 4158976, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h", + "sha256": "e5cf42c2ad4515dc2a88fe984ec0281632689bcca2736f50dd2fdfeca546c948", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5741, + "data_offset": 4171264, + "gid": 0, + "header_offset": 4170752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h", + "sha256": "876bf0e7c31a5378efc30e07fabbd55a94245bbf44ebf2f7784659e42d59a9a2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 39688, + "data_offset": 4177920, + "gid": 0, + "header_offset": 4177408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h", + "sha256": "7115642e9761d2cd36f131d486a437a110b93158fb0899308b49793615b1b5b9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11226, + "data_offset": 4218368, + "gid": 0, + "header_offset": 4217856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h", + "sha256": "81c44e0537bfc87a0b9adcc52051236015f28b222fcaafb54f8815c9561b2479", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7402, + "data_offset": 4230144, + "gid": 0, + "header_offset": 4229632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h", + "sha256": "a72e81a2c7322ca4fc9ba821c1cb38ae7c034cb402181e90d91841cd58b1f98e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1121, + "data_offset": 4238336, + "gid": 0, + "header_offset": 4237824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h", + "sha256": "b81549f3331b5335b3129ac2091691aa658b5cf651ba1ba0082906af22997f54", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6259, + "data_offset": 4240384, + "gid": 0, + "header_offset": 4239872, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h", + "sha256": "1e7d3063c34061812fbdd950e90d858e0bc1cd5f67db144a75c3246aa7cf31bd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1808, + "data_offset": 4247552, + "gid": 0, + "header_offset": 4247040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h", + "sha256": "0003121f60d6cb02ed21c08709c10889e5df6891bdd8251290f0084e81bf2b4b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1943, + "data_offset": 4250112, + "gid": 0, + "header_offset": 4249600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h", + "sha256": "61e4c9ea3990396756584ee9bc40ab081fa6204a48eeaa345c072f58a50a25ad", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5584, + "data_offset": 4252672, + "gid": 0, + "header_offset": 4252160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h", + "sha256": "88a0e0f498a55f586df2845736b75e63b07802f169bcf8b1edf4fc95f8bedcc0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10745, + "data_offset": 4258816, + "gid": 0, + "header_offset": 4258304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h", + "sha256": "7a50e1ced617289ebe97acbaf61925b7de235e50d4b73d8575da288dd064a127", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4271, + "data_offset": 4270080, + "gid": 0, + "header_offset": 4269568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h", + "sha256": "b09b75199f3721bd9538812d29ce8da67c95c992da9295b4c865d70b470aff7d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5203, + "data_offset": 4275200, + "gid": 0, + "header_offset": 4274688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h", + "sha256": "5b78e81a7226a9cbc6c664b2928c68ccb155132d4e764daaca2eb28590137856", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1696, + "data_offset": 4281344, + "gid": 0, + "header_offset": 4280832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h", + "sha256": "747174cc153c2c9851a6acfa50586fa632db3696650b118a00fed85bac643b79", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9147, + "data_offset": 4283904, + "gid": 0, + "header_offset": 4283392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h", + "sha256": "ab7c203f21122c26260141dffe2e3e3fc30c9ad6458b5c2be26029d4cf34280d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1881, + "data_offset": 4293632, + "gid": 0, + "header_offset": 4293120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h", + "sha256": "62a42864b5d1de2f6ba657663688b67018349a6ef133fe4f9feb312edbd4674f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5586, + "data_offset": 4296192, + "gid": 0, + "header_offset": 4295680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h", + "sha256": "bcb77597a67ac6b68b24dbdae7dca900f611ad0a8a3a56ecf8af45378d890ca6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11715, + "data_offset": 4302336, + "gid": 0, + "header_offset": 4301824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h", + "sha256": "4baa3750012a67f0bb4600d7faea1a52c3c104779aaa8c64095f2d0581757902", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 310455, + "data_offset": 4314624, + "gid": 0, + "header_offset": 4314112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h", + "sha256": "83e0c3cbab2ce449e98b300a78667666b4f8a7cfe4d4b4cdfdd8af8019393774", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 526, + "data_offset": 4625920, + "gid": 0, + "header_offset": 4625408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h", + "sha256": "61f4af46470a090d3879482225cf5b44d7e63e6a62a2556c588758311a7b55d1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11204, + "data_offset": 4627456, + "gid": 0, + "header_offset": 4626944, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h", + "sha256": "319b6341188b6ea532fc90a5a6ce26a0c87e35a2f4c7887f8db3a54f9d8f8ca3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1347390, + "data_offset": 4639232, + "gid": 0, + "header_offset": 4638720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h", + "sha256": "0e21173edfdcf406b300992e8bab9ef65ca3a98f42501d24efeffd057eedb218", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 24711, + "data_offset": 5987328, + "gid": 0, + "header_offset": 5986816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h", + "sha256": "206116a4fb7aedd76f936dfd3f23c5ba9a9c4cda1c787338dffcdc6feea6a78d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 28560, + "data_offset": 6012928, + "gid": 0, + "header_offset": 6012416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h", + "sha256": "bc522aae00c541e890a64bec011e0df5c0952f76058e4418fde210051b4f9a16", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3617, + "data_offset": 6042112, + "gid": 0, + "header_offset": 6041600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def", + "sha256": "a3c40aa47c1a61414ee539c2729d60cf027c7a654a576d6bfa9a4038d4cb8be5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2706, + "data_offset": 6046720, + "gid": 0, + "header_offset": 6046208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h", + "sha256": "8793b9ae709fa4abfa4b47b42f7d44e5b8a0c81babb947316f340e26c34bd955", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22125, + "data_offset": 6050304, + "gid": 0, + "header_offset": 6049792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def", + "sha256": "b5bdb9d9d2d0c0836398ce22772e364881ef4999da68d6824a3c08bbebfb864a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8988, + "data_offset": 6073344, + "gid": 0, + "header_offset": 6072832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h", + "sha256": "6e5d20a5735c158d71a3fea72e303455ce5a1ddb1964a1283084331645a923e2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2009, + "data_offset": 6083072, + "gid": 0, + "header_offset": 6082560, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h", + "sha256": "4a313883acbe8bf6a6502e0f4a56863ab5916e8defe4828e98f5251af2536744", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15911, + "data_offset": 6085632, + "gid": 0, + "header_offset": 6085120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h", + "sha256": "de4a896a9634f74046d2869acd9bd1cb53ee4f7f2ab55fe1ced41460f03417f1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11544, + "data_offset": 6102528, + "gid": 0, + "header_offset": 6102016, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h", + "sha256": "496e275a5cece9993a70e8bd4a02344ed0e3ac7c50d1b81d9d1adc7d4094db2c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 21309, + "data_offset": 6114816, + "gid": 0, + "header_offset": 6114304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h", + "sha256": "9e7a92faa7ba1f266da868b0054480f19dd8d5291c479b4ba7132e9a35c27cb5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4289, + "data_offset": 6136832, + "gid": 0, + "header_offset": 6136320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h", + "sha256": "1e955d3f468551b8ad6ff25bba478f81e71ba94e61db38fb585772b5d2f935cb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22363, + "data_offset": 6141952, + "gid": 0, + "header_offset": 6141440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h", + "sha256": "fe51a1249a2d02f88c09e4d39f5b86bc4b93134c6afc94923fdee8c364fcbc69", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5027, + "data_offset": 6164992, + "gid": 0, + "header_offset": 6164480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h", + "sha256": "22c65da14709b9b84e8086769f3897e4f48f05b59e975a3d241a495c09dc1d47", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18540, + "data_offset": 6170624, + "gid": 0, + "header_offset": 6170112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h", + "sha256": "f3201c2d0c05d9f7a8ff5bf24b45c7900d74f826c73e8f1462abf2489e97e561", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8891, + "data_offset": 6190080, + "gid": 0, + "header_offset": 6189568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h", + "sha256": "6b22f107252d8a4e3b93663584c2a43293e30630960369e6f3308c664c7ca4ae", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 41250, + "data_offset": 6199808, + "gid": 0, + "header_offset": 6199296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h", + "sha256": "c6ac7cb1c6c2b9b41e6351d823c97cd36ed192055f2bec5d5cf732816d6d00dc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3529, + "data_offset": 6241792, + "gid": 0, + "header_offset": 6241280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h", + "sha256": "399109d1b5ba4d7aba587233d2235c508453294b503640636bf5f65c4bec4fb5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1099, + "data_offset": 6245888, + "gid": 0, + "header_offset": 6245376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h", + "sha256": "43c907a42844c6b38799eae901b6046c4676dc27de8ebd5a5318a954f2520d4a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9725, + "data_offset": 6247936, + "gid": 0, + "header_offset": 6247424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h", + "sha256": "5329e4984b4519090d52923ceca6c115f03b57327b2bda231c555f1b2b6dbde4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 62259, + "data_offset": 6258176, + "gid": 0, + "header_offset": 6257664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h", + "sha256": "aec4d79bbac7c207b388b045b7b0d55947f13a9d5138a5ef57c8a36031248e02", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9893, + "data_offset": 6321152, + "gid": 0, + "header_offset": 6320640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h", + "sha256": "d732461cda17464dbf997c189a28eb5c1ee94a8171be0ca2d7c68e5f148e4810", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7700, + "data_offset": 6331904, + "gid": 0, + "header_offset": 6331392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h", + "sha256": "a7be36431cebf05709bd2a25f47381bc2786125bfc92f933edc28aab6761f8ca", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5894, + "data_offset": 6340608, + "gid": 0, + "header_offset": 6340096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h", + "sha256": "f22917e2b2d4ee3b5d012e3fb9237f262ab7d7cc09f5b68f6abef02cb600afca", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4705, + "data_offset": 6347264, + "gid": 0, + "header_offset": 6346752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h", + "sha256": "9ccf0c42d9ddb74401cac7be0c8bd17c3183be25d7b2af89069a98b8978272cf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16998, + "data_offset": 6352896, + "gid": 0, + "header_offset": 6352384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h", + "sha256": "95f149ef20e682d4877d5f2ebb2c9886b68750f8cf586b4a982e32566e67f488", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27732, + "data_offset": 6370816, + "gid": 0, + "header_offset": 6370304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h", + "sha256": "5cef50bf7cd776d0bb62db9722163b98f4372e8ab256ceab28a6eabd0161f572", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1327, + "data_offset": 6399488, + "gid": 0, + "header_offset": 6398976, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h", + "sha256": "0bda2ffffab92ff1e08ad9d5d820a27f9379ee6782d2d27dcb753a5d6aea38db", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2586, + "data_offset": 6401536, + "gid": 0, + "header_offset": 6401024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h", + "sha256": "4ede906245548b77c8039974408ad67b33f437b8d37863cdc8511ad21f053ea4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27873, + "data_offset": 6405120, + "gid": 0, + "header_offset": 6404608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h", + "sha256": "30bb26b74878d324cd3a495ae6913f9dc682fb8519c2acd55520e31f8456a6c1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1411, + "data_offset": 6433792, + "gid": 0, + "header_offset": 6433280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h", + "sha256": "3b38742bd304c485bb6ab53cacea9432e28205ac7a002a86330f0ae2380f2b3d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 270, + "data_offset": 6435840, + "gid": 0, + "header_offset": 6435328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h", + "sha256": "281813879fe05668e6a3cc520ef294c7fd3f01f75dd67cb5e363c3ffdf37cb1b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 73241, + "data_offset": 6436864, + "gid": 0, + "header_offset": 6436352, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h", + "sha256": "415f38816ece1ca843803ef3af96be9d9029e83fe9e76b53f0c33f74eeaee778", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2486, + "data_offset": 6511104, + "gid": 0, + "header_offset": 6510592, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h", + "sha256": "62fd366fc45f278a0957b5b9c456bf9967bf0dddb1903a9539df9f677abba3b2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 893, + "data_offset": 6514176, + "gid": 0, + "header_offset": 6513664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h", + "sha256": "013de58934fbc12448fd9c684dd5c920be658c527ec61c4d5bff848d911373af", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2081, + "data_offset": 6515712, + "gid": 0, + "header_offset": 6515200, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h", + "sha256": "a17e1d7b54de7bbd12917d92e645bebf03466c4dff43a4fb3314b955f08d93d1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18811, + "data_offset": 6518784, + "gid": 0, + "header_offset": 6518272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h", + "sha256": "3e1e99bc6bab69cb9d3c81f4e84f13d15aec66a39597b1272f46e8e5d994982f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1337, + "data_offset": 6538240, + "gid": 0, + "header_offset": 6537728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h", + "sha256": "a0dac0179283d66fecc9eef1245bfe9e220cadd855bb78238fb17938223a01d3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1599, + "data_offset": 6540288, + "gid": 0, + "header_offset": 6539776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h", + "sha256": "d0e82fdd93133a4165a7355e79d815cd0cd4e2d954f59d8141b9b9d1ba5d38c8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1595, + "data_offset": 6542848, + "gid": 0, + "header_offset": 6542336, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h", + "sha256": "1c91506b7ee8fa420ef0852e90dc824e28dc367274d05fce88f188b9644a3473", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 38386, + "data_offset": 6545408, + "gid": 0, + "header_offset": 6544896, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h", + "sha256": "8af2370c5da76c5a10a5f81dc7276d577d15d4427a45a4fc945056200f971ecd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 975, + "data_offset": 6584832, + "gid": 0, + "header_offset": 6584320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def", + "sha256": "ee4847ee69fc0acd5f2c89176d2d523ada86876bf6ef97c37f05becf56c0a049", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10847, + "data_offset": 6586368, + "gid": 0, + "header_offset": 6585856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def", + "sha256": "de584372b4942dd19796032f087b652ebe3425f4fdfa71ce16245a17c1f47506", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 35856, + "data_offset": 6598144, + "gid": 0, + "header_offset": 6597632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h", + "sha256": "4444cb35bf21f0fad623af174c34d3a23a1f7a239206148ada43f4ea422ab3ee", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1529, + "data_offset": 6635008, + "gid": 0, + "header_offset": 6634496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h", + "sha256": "ec51d87d64f36a9d717d4a9b12810d43d60c16ca5527cda00de934f58bea6ffd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5409, + "data_offset": 6637056, + "gid": 0, + "header_offset": 6636544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h", + "sha256": "7e63418a7fcab4637c5fb29fe554149c0252ed43fcd70a9434af8d8157aff5d6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1280, + "data_offset": 6643200, + "gid": 0, + "header_offset": 6642688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h", + "sha256": "afa4dc890a08081d268b4b7512fbcbe46572dc71d6a026b465a8f6e2d9714451", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18132, + "data_offset": 6645248, + "gid": 0, + "header_offset": 6644736, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h", + "sha256": "95cc899b612bf1d4aceeb45663b2bbc34b8711d38c215b53ef2693fd73ddcc91", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3401, + "data_offset": 6664192, + "gid": 0, + "header_offset": 6663680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h", + "sha256": "4c56869646d5db67ce1887862d23c13ac2453879ff8da57c67f5c4ad6594ff69", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2500, + "data_offset": 6668288, + "gid": 0, + "header_offset": 6667776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h", + "sha256": "76be7522462077eba796115512b13778ebbff5be23babf8ca6cf19805d435014", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2034, + "data_offset": 6671360, + "gid": 0, + "header_offset": 6670848, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def", + "sha256": "51d097959c833480f573c1253da61cbf79495424ff3640c577837ee5e7fe5cbd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7617, + "data_offset": 6673920, + "gid": 0, + "header_offset": 6673408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h", + "sha256": "639957ca653d1b4a8caccabe94166b6e80dcc150dc7fef7120b03781d3e86338", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3378, + "data_offset": 6682624, + "gid": 0, + "header_offset": 6682112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def", + "sha256": "c2b3a32369d99cc8260b985d647c5a4e506f0e1f95296062c8993ac33070799c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2480, + "data_offset": 6686720, + "gid": 0, + "header_offset": 6686208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h", + "sha256": "3337eebd882f83dd0d81305cd886c20403267f9030966fe91e021eb793b71c85", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22405, + "data_offset": 6689792, + "gid": 0, + "header_offset": 6689280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h", + "sha256": "d7b88aea7f6a9579f716a775fba2acbd119315e0975431c7644ec842495271d0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22884, + "data_offset": 6712832, + "gid": 0, + "header_offset": 6712320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def", + "sha256": "0ea9f9414e42aa2ebfca27d2a853594f13d30b63259303d77207e30d07ba67c6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1165, + "data_offset": 6736384, + "gid": 0, + "header_offset": 6735872, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h", + "sha256": "865d458725ff3ac68fe6e34ac2d9d4a9df93cf0913469d9726f426a0fc9c25cc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5983, + "data_offset": 6738432, + "gid": 0, + "header_offset": 6737920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h", + "sha256": "7adf96139b70216876dc610b87a81c950f197811ba7e1249031dad9f0d1c00b5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1095, + "data_offset": 6745088, + "gid": 0, + "header_offset": 6744576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h", + "sha256": "db8f807abd15f86cbb42242e65b1e9a3447074aab6c98424b0a7ebf2dab8b80f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1214, + "data_offset": 6747136, + "gid": 0, + "header_offset": 6746624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h", + "sha256": "244d40fb972c66f1accc14712cf0ee6575209e113431fc897af09b6ec59295b3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 880, + "data_offset": 6749184, + "gid": 0, + "header_offset": 6748672, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h", + "sha256": "74456a1c9e0f39545ffa3f6eb8b3c8cfebfe7a4ab954453c6a912f4e42fa1ca3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9423, + "data_offset": 6750720, + "gid": 0, + "header_offset": 6750208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h", + "sha256": "3a2ab8a4cdeba7790e0f246c37580c904dbf459e4d26a5775f82220ecefafc35", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2540, + "data_offset": 6760960, + "gid": 0, + "header_offset": 6760448, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h", + "sha256": "50fb15e8b6fb8980f80cffb19667e63740c0a0a4be47bb5e5e5ab59351a2362f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3469, + "data_offset": 6764032, + "gid": 0, + "header_offset": 6763520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h", + "sha256": "29ed316ac1c28a4b1df96943e194d1d63ecfe761e9f6124a418b227cd84eb87e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7104, + "data_offset": 6768128, + "gid": 0, + "header_offset": 6767616, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h", + "sha256": "5ed43d77e9d7d2080d5d02a78260d759c5b14028431b28055e3d4564d5aecea1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1867, + "data_offset": 6775808, + "gid": 0, + "header_offset": 6775296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h", + "sha256": "10de46939ebad137748008605be8afb05dbceb4eb7e7c09d7ffe11f11c15897f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22768, + "data_offset": 6778368, + "gid": 0, + "header_offset": 6777856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def", + "sha256": "423d37d7db5f9ae5be74b83d2d55a4acbbbaeaf56b293d68375f7a8f7d2f24dd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 14408, + "data_offset": 6801920, + "gid": 0, + "header_offset": 6801408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h", + "sha256": "904dbf30e1cb2dae59e3ebca387fc9f4a278b1a5b468fa82c97d4a35e4e618cf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2047, + "data_offset": 6817280, + "gid": 0, + "header_offset": 6816768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h", + "sha256": "b8d4716945ae169e7be105dfe9b29417a907a308dbf2ccf629a6d8bbb7a31ef4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5152, + "data_offset": 6819840, + "gid": 0, + "header_offset": 6819328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h", + "sha256": "8884b6514baf87d199fe0c54da077e7209cc760022a83984c3f26d6a18ec4102", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 504497, + "data_offset": 6825984, + "gid": 0, + "header_offset": 6825472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1032, + "data_offset": 7331328, + "gid": 0, + "header_offset": 7330816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h", + "sha256": "b941dcb347c09c55364350b23ba666aa11d3665920a5d8d6778c4edf3454d983", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1787, + "data_offset": 7333376, + "gid": 0, + "header_offset": 7332864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h", + "sha256": "cf69cae8fdfc06b026c6c9e6f73b6569012e368d595522dda263490c7323f0cd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20111, + "data_offset": 7335936, + "gid": 0, + "header_offset": 7335424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h", + "sha256": "679ae81edf5eb0f284eb8426d2d742b795d94c718d08fa0c6be0b000fed8f99b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5035, + "data_offset": 7356928, + "gid": 0, + "header_offset": 7356416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h", + "sha256": "a19e5a6c8b0995d955972ac1e8e36f8e3e596def77e1071a66c5513110d8c984", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 25158, + "data_offset": 7362560, + "gid": 0, + "header_offset": 7362048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h", + "sha256": "0b1f52111356fa8ff77fd3cc829c2a14400a6322db3743f8293f6cba3ced544c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 24846, + "data_offset": 7388672, + "gid": 0, + "header_offset": 7388160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def", + "sha256": "a0e160ffd36c3ad1643ac4b29dffb0cbda42eb411cf8b29618df9917e586c5f4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4112, + "data_offset": 7414272, + "gid": 0, + "header_offset": 7413760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h", + "sha256": "14517703ae93aca191844dd07649820424e8c9f84cb17bab6a7058bdd91b9766", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22106, + "data_offset": 7419392, + "gid": 0, + "header_offset": 7418880, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def", + "sha256": "f0a89caaaec0c4e234e4840f5958cc59ed9189f18bf62309ea78bb68befd4fe6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18343, + "data_offset": 7442432, + "gid": 0, + "header_offset": 7441920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h", + "sha256": "ab883946bdbc9a8143b32bf970b3be836e070c62223974b25bffae4e747836ae", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 595, + "data_offset": 7461376, + "gid": 0, + "header_offset": 7460864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h", + "sha256": "240c05ad22d5f396015efdc5d0381c554ea79d62c8ece0402909501e59a5f1d4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3419, + "data_offset": 7462912, + "gid": 0, + "header_offset": 7462400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def", + "sha256": "6e5670c5c93a21ee20ddb1d96974c782cb51b988fe4bd66a8aed42768b88f54e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6593, + "data_offset": 7467008, + "gid": 0, + "header_offset": 7466496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h", + "sha256": "bf17c85ab563f8cc6808993e83dd6ef727b282b8b4ede9749d635d23feb7753b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9703, + "data_offset": 7474176, + "gid": 0, + "header_offset": 7473664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h", + "sha256": "d68d16e80c901ae7f30d93772645252e184268e91f38d8e6f461f1bdd22ef2b0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4328, + "data_offset": 7484416, + "gid": 0, + "header_offset": 7483904, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h", + "sha256": "e2a969980945c688e2851b91a34bfd6658ee0aa5684a6e7cab5bd81bc2ab5d6a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 81531, + "data_offset": 7489536, + "gid": 0, + "header_offset": 7489024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h", + "sha256": "e66872fe193c40e9548de5effafec475f4d2d57ba0e69db2d2ee091c75a3caa3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10136, + "data_offset": 7571968, + "gid": 0, + "header_offset": 7571456, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def", + "sha256": "f78bdbe1e3493092e5bd7544a6ec94e57e8ca280b6487d037312d68adb71a537", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4752, + "data_offset": 7582720, + "gid": 0, + "header_offset": 7582208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h", + "sha256": "3a15c9bc658a8d773b9b741f9c52b5d08eb2461715478add8a0b7785a8a0c73a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1260, + "data_offset": 7588352, + "gid": 0, + "header_offset": 7587840, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h", + "sha256": "7a6f926a74485becf52e91b15cbdee5674b8470a4c5376179667e32c093430ab", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16071, + "data_offset": 7590400, + "gid": 0, + "header_offset": 7589888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h", + "sha256": "605c2d11126def8d4b358a661000989448a6e6777e7b04536243cac1bbe4ee03", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5643, + "data_offset": 7607296, + "gid": 0, + "header_offset": 7606784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h", + "sha256": "82d36d4eb489d6959e70dbaee1fb14b5d30a04a76840ded2df90572aa07d6885", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1944, + "data_offset": 7613952, + "gid": 0, + "header_offset": 7613440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h", + "sha256": "ad87f6e71674db1ea93d24fd13c5f4ba4a44c910c438389d1a3f3ed0f944efef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 39197, + "data_offset": 7616512, + "gid": 0, + "header_offset": 7616000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h", + "sha256": "daacfd3111a8ae358573e4edd62d06a765824feaa61ee6e3bfd2fce6719c715a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2335, + "data_offset": 7656448, + "gid": 0, + "header_offset": 7655936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h", + "sha256": "00eeecf678a97ef2d8b27c21739580e2fb4b22758807b9351ba421338e5fc5c4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10757, + "data_offset": 7659520, + "gid": 0, + "header_offset": 7659008, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h", + "sha256": "97143b407697c7e1dd429675660e8e5c262e90331c0cf3509ce5e998e8ed2bc8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1690, + "data_offset": 7671296, + "gid": 0, + "header_offset": 7670784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h", + "sha256": "ac66d273dd27ae1aa5672ba820129727c2b48110d7f780922a8d46ba26e12d02", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13190, + "data_offset": 7673856, + "gid": 0, + "header_offset": 7673344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h", + "sha256": "b4d0bb94bf80c7cd2426e80d98b6063ceaf9fe77135e2323cde155d7ae4f20e7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1002, + "data_offset": 7687680, + "gid": 0, + "header_offset": 7687168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h", + "sha256": "087dae9fb10d3d7fca65278b2fcd521477058b91c3242a385853e22897497b81", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 21374, + "data_offset": 7689216, + "gid": 0, + "header_offset": 7688704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h", + "sha256": "64bb28d4bd9cee160cb7a165827ac901f8fc5c0fb0c7d0976885a37ab065119f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1302, + "data_offset": 7711232, + "gid": 0, + "header_offset": 7710720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h", + "sha256": "d8f33b66341cd504dab1a29eebd8215a56e1769b57a4d62b6a9ad3ed1f7e5c0c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18160, + "data_offset": 7713280, + "gid": 0, + "header_offset": 7712768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h", + "sha256": "65f535deb2993fa5960cc5f39477b710b3d6ebe5ab2d6b4165bd8d61acce560b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10982, + "data_offset": 7732224, + "gid": 0, + "header_offset": 7731712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def", + "sha256": "71888a6aa0d904d1462f91a82810073231c8526d0f33a9a7a6d82cbb87cd7b3e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 877, + "data_offset": 7744000, + "gid": 0, + "header_offset": 7743488, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h", + "sha256": "b58d176b75700c415cfad8218d7a2b08ee8004bda1cc22ba50dac9bd4978a38b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3563, + "data_offset": 7745536, + "gid": 0, + "header_offset": 7745024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h", + "sha256": "1e36a6da41687305e5a97cb741594abb02b4d3fff577fcb8a62138c5822ebfaa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 12634, + "data_offset": 7749632, + "gid": 0, + "header_offset": 7749120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h", + "sha256": "15d9102c0bf9155ba02c9a3806be502e9ac5f788a30c5e5f17dd873e7bf2bc5a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4824, + "data_offset": 7762944, + "gid": 0, + "header_offset": 7762432, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h", + "sha256": "2728d61c5e85efc5802bebd3310845d1e72f6554418810ae5edace22e49e0241", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17659, + "data_offset": 7768576, + "gid": 0, + "header_offset": 7768064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h", + "sha256": "3abb0b6d1e9c65d38b61b185c88c5ebf37e51beaf2bf8912c3bdae3d2e46050b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1981, + "data_offset": 7787008, + "gid": 0, + "header_offset": 7786496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h", + "sha256": "5830422162a9e2bf8aae757776bf399fc10dbaa599504343f4effc3737605b81", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1050, + "data_offset": 7789568, + "gid": 0, + "header_offset": 7789056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h", + "sha256": "0398b05ae75bbaa2014dee32fe3b5614ba536c2a40e899985dc83c3db52feea8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8363, + "data_offset": 7791616, + "gid": 0, + "header_offset": 7791104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h", + "sha256": "4fa2852f3ea51e76acfbaca3d8297b94ad04d66cf4d2712a4475e17fba73a1d2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1991, + "data_offset": 7800832, + "gid": 0, + "header_offset": 7800320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h", + "sha256": "bea1a8cd10f40cc67634ead997999942231497ab46f2b5ae5bf07991c5efa230", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 61440, + "data_offset": 7803392, + "gid": 0, + "header_offset": 7802880, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def", + "sha256": "0a5f215a95ba9df29b8fc743f7e477e2a493e16d2c91b5d5ad349846497e0764", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 160104, + "data_offset": 7865344, + "gid": 0, + "header_offset": 7864832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h", + "sha256": "141702d3ec4ef6829ad9f8082850a8d4cfb7483b7e1cbc500de4e34418bacb9c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10466, + "data_offset": 8026112, + "gid": 0, + "header_offset": 8025600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h", + "sha256": "5f3a7b97630a0a51cc4a40175e162f0ff85b9cc1d547b140496bbf783efc7895", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 850, + "data_offset": 8037376, + "gid": 0, + "header_offset": 8036864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h", + "sha256": "28b8d35d5616c74c62fa31b5674318d7e0fba611f2bf06192fd636d0ea474b35", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1797, + "data_offset": 8038912, + "gid": 0, + "header_offset": 8038400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h", + "sha256": "d5c4db6a98b8586c5f8dca8f225041caf4f3473ad95e54583866dae9f5a75a37", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3848, + "data_offset": 8041472, + "gid": 0, + "header_offset": 8040960, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h", + "sha256": "f5e36f8d27a594b77cb0530ba42ea335c9eceabdab7961675efd0d0c5304d539", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 884, + "data_offset": 8046080, + "gid": 0, + "header_offset": 8045568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h", + "sha256": "9582b29310769bfaabfe8c23c637c6d8e1376edd9ec9bcc176fb38b99848c206", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5642, + "data_offset": 8047616, + "gid": 0, + "header_offset": 8047104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h", + "sha256": "e7e2202f4b96bc269c5a885812b4a919c92e64e196d106b0a8db4a93572e7bd3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 33537, + "data_offset": 8054272, + "gid": 0, + "header_offset": 8053760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def", + "sha256": "e4069289ef31866fde4d1acdbd4a747e5d99586e058067b57b3343b0ea6f92ec", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10369, + "data_offset": 8088576, + "gid": 0, + "header_offset": 8088064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h", + "sha256": "9958ea326e761f3ff9c9526c7223b076fc4b9cec7c9453f21083a320210eb2c5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 61641, + "data_offset": 8099840, + "gid": 0, + "header_offset": 8099328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h", + "sha256": "dc1a6562fe614c64146430ed54600e933c30a5061cec75aea95e46083477743a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6940, + "data_offset": 8162304, + "gid": 0, + "header_offset": 8161792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h", + "sha256": "d6d217bd789ab925858267a761092651c2fe7a9b5fd530ed9009ffa627e86aad", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 48949, + "data_offset": 8169984, + "gid": 0, + "header_offset": 8169472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h", + "sha256": "b17053bd5d174df238c8bc41be386f371ed678dc170e4cfb90dc5ba4d87e9e3a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 920, + "data_offset": 8219648, + "gid": 0, + "header_offset": 8219136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h", + "sha256": "c1f7a7e88904e6b3f2f64b94bd77dd2a27e986153047d5896099163227df8282", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1493, + "data_offset": 8221184, + "gid": 0, + "header_offset": 8220672, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h", + "sha256": "3662ed457aa27813ef3f0802f4d48dc039213a453f434e757808e4f6a4f8e03a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3235, + "data_offset": 8223232, + "gid": 0, + "header_offset": 8222720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h", + "sha256": "feda33ddda3dd145deed464204db202a5c8075fe9fdc30fcdbcae2bb71a69983", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15588, + "data_offset": 8227328, + "gid": 0, + "header_offset": 8226816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h", + "sha256": "d2cf01d8ef1465541dfbbf3bbd3fad1c32d2b35dc4d89d20f9095b54137d5719", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7500, + "data_offset": 8243712, + "gid": 0, + "header_offset": 8243200, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h", + "sha256": "bc5b78d700b487e41136fa6a422d603b033f853539c19cb03f4249b6e346c345", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6205, + "data_offset": 8251904, + "gid": 0, + "header_offset": 8251392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h", + "sha256": "2eaff39957c8b8c6195b2eeebf1601d74aa203959545d223001b436311eab295", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1165, + "data_offset": 8259072, + "gid": 0, + "header_offset": 8258560, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h", + "sha256": "4c02ba20251963758c89b10899393b28662d9463c09f23cdf1a26b63c9f6726e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1056, + "data_offset": 8261120, + "gid": 0, + "header_offset": 8260608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h", + "sha256": "aee11f55692dd8b2bda2d8a04c45b7d40379c55258dda5db1f03c3515631f8a0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6812, + "data_offset": 8263168, + "gid": 0, + "header_offset": 8262656, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h", + "sha256": "c7eb94536c94fd08bcc4dc755716d6b4d975bd75f71f8186f3c0e510d449c5f2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1416, + "data_offset": 8270848, + "gid": 0, + "header_offset": 8270336, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h", + "sha256": "ff8432c6862f0d119017626789c451dea9388b6ea74eba4f53186beabd135094", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7360, + "data_offset": 8272896, + "gid": 0, + "header_offset": 8272384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h", + "sha256": "330f381fc436a17de505c30f977ef2a2ee4692e0b0dffdb4b752a37f14ebc4d0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16880, + "data_offset": 8281088, + "gid": 0, + "header_offset": 8280576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h", + "sha256": "a13bf0f6af9d93a621f33172d1b3219e0d650edd91ee16e876098bf305cb2d27", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6238, + "data_offset": 8298496, + "gid": 0, + "header_offset": 8297984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h", + "sha256": "687795657e77a2e1105c5b92cb43e3c1de4a4ee53adcabe25ceceebbac42bb1d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6565, + "data_offset": 8305664, + "gid": 0, + "header_offset": 8305152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h", + "sha256": "394ea5f83e88fdb19768e37b092e72117a9c1cb60e0af28042372d18fe702f47", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 29828, + "data_offset": 8312832, + "gid": 0, + "header_offset": 8312320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h", + "sha256": "13a470f159f7f31c4495af6fc4ac50d7d82d8e31555ced66ae4444ddb261df84", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1039, + "data_offset": 8343552, + "gid": 0, + "header_offset": 8343040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h", + "sha256": "2a1314704e22f2752d1cf83d62ead4d5eb416839b438c4cad9410e5483b2a72a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2846, + "data_offset": 8345600, + "gid": 0, + "header_offset": 8345088, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h", + "sha256": "66de3aed44d510172a51dcd99cb2445354d12fa5c09fde43eb4048e5e2f32897", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2034, + "data_offset": 8349184, + "gid": 0, + "header_offset": 8348672, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h", + "sha256": "234685ba8f567bf512c870e4cc462249937cb9c50c4845c8159009b827e2af03", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5099, + "data_offset": 8351744, + "gid": 0, + "header_offset": 8351232, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h", + "sha256": "7052fef7a6781651860182890449787cddc5731f2e8a8b34ec9d3dc576873e67", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3695, + "data_offset": 8357376, + "gid": 0, + "header_offset": 8356864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h", + "sha256": "16e3d55112b0e7911eba6dad328e1a25fe4c607e35b6c33349b742db6a8a0960", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1491, + "data_offset": 8361984, + "gid": 0, + "header_offset": 8361472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h", + "sha256": "9665167dd0003d60d4b72880ce61a477f1560c972d6097a2cdaa24e03d6cacd2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4744, + "data_offset": 8364032, + "gid": 0, + "header_offset": 8363520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h", + "sha256": "c8ea502e9cd745da74c655fcfad7df2fc43733bb808d3742b7125715cc41cdbf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27511, + "data_offset": 8369664, + "gid": 0, + "header_offset": 8369152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h", + "sha256": "04876299a21be45ce7543996f24d0c327114b657f59bf5736fa2fd48037724d2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2076, + "data_offset": 8397824, + "gid": 0, + "header_offset": 8397312, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h", + "sha256": "43d5903da1b24590ca92a4d3823de558f100d39ad9b7efc1ca11b28c82473eff", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5041, + "data_offset": 8400896, + "gid": 0, + "header_offset": 8400384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h", + "sha256": "367e3314b662a799a41d0403d2bb530aef3a8717e6e02908a6c51a89d1785a85", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3734, + "data_offset": 8406528, + "gid": 0, + "header_offset": 8406016, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h", + "sha256": "7223c38982d25c4f205f961f82c6a2aa95fadcae197b96a5f75d6d0eb635820c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27679, + "data_offset": 8411136, + "gid": 0, + "header_offset": 8410624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def", + "sha256": "0968daba86d57430f56d28c37c797431ff3dc3efb11142562d9fa08d68dd86f0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 42057, + "data_offset": 8439808, + "gid": 0, + "header_offset": 8439296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h", + "sha256": "18acfc4265c88125ae0a190e31c2e865a7726c9fdcc057990e7bfeaa6e62c56c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4265, + "data_offset": 8482816, + "gid": 0, + "header_offset": 8482304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h", + "sha256": "42926ae26ac08524751c635312c73d9e6fd6e95d05a61656ebc6bd0663a4fbf1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3413, + "data_offset": 8487936, + "gid": 0, + "header_offset": 8487424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h", + "sha256": "91615ca3c302e3d40c9eba9df5829ef15e0f6346c7ef57d85ed1a6179d181860", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4060, + "data_offset": 8492032, + "gid": 0, + "header_offset": 8491520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h", + "sha256": "614946cc27b8d6b45efdebd6b8b92bba70b65161ad0e963f64891c106bd1ab62", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5385, + "data_offset": 8496640, + "gid": 0, + "header_offset": 8496128, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def", + "sha256": "86f6e27cf0de4f2b3b85faed07421312087dbf34ab1da0dfe0adc3aa0387ed1d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 324195, + "data_offset": 8502784, + "gid": 0, + "header_offset": 8502272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def", + "sha256": "4b09a0f3c94866ecfdaedcdf645e2e469a787b145dfc4bd3139e91a3cc5d4b7b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9322, + "data_offset": 8827904, + "gid": 0, + "header_offset": 8827392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h", + "sha256": "196b78a30e006a4e6a4aa213a5b9f60dac0939ad7f7f60ce6418374488efca6c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 14065, + "data_offset": 8838144, + "gid": 0, + "header_offset": 8837632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h", + "sha256": "63f067f4e08cbe1c4163e72263ab11db4f40904456a14f19a7ebac777db5154a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18489, + "data_offset": 8852992, + "gid": 0, + "header_offset": 8852480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def", + "sha256": "ad36ee0acd2323014fd3030bed61940b5701eee1ac0aabbe8779eb444e443792", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7825, + "data_offset": 8872448, + "gid": 0, + "header_offset": 8871936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h", + "sha256": "2503c672b155608463651164ec3b7920ef9e3c3aedf327579890e6f6dea53747", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15692, + "data_offset": 8881152, + "gid": 0, + "header_offset": 8880640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h", + "sha256": "9ab00124c52294df63f666481b6201303792fd97155d67981bc74594ddf9157c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1184, + "data_offset": 8897536, + "gid": 0, + "header_offset": 8897024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "sha256": "d384ae33a23985613c839280f1b4845b3415c055e32209c6bc795a4d594f018f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 178, + "data_offset": 8899584, + "gid": 0, + "header_offset": 8899072, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "sha256": "d8729f976710961c7d34afc545be1c22dfb654be3425ce379511c6f837979141", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2853, + "data_offset": 8900608, + "gid": 0, + "header_offset": 8900096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h", + "sha256": "94db68428a4204367beebe06af7039204b0a1585b192dbe3fbc9e2c2e48aca3e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 903, + "data_offset": 8904192, + "gid": 0, + "header_offset": 8903680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h", + "sha256": "70fc64b69e8c6e69ba860d3611bff17183fac32f2d2a6050383d1627f87aef08", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1937, + "data_offset": 8905728, + "gid": 0, + "header_offset": 8905216, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h", + "sha256": "48614ce6d1de0747f00f7e7d6688194aaee8b1cc95e198b8b9081f0001c0bef3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3892, + "data_offset": 8908288, + "gid": 0, + "header_offset": 8907776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h", + "sha256": "a3d786765e5e8c9db578aa39b36f0ace394eb235d89c9b84709b4283e99ee361", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5902, + "data_offset": 8912896, + "gid": 0, + "header_offset": 8912384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h", + "sha256": "d30ad2d326dc52920c97453044915ce687b15493d08c80bc4e14e7e8ff2ad510", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1207, + "data_offset": 8919552, + "gid": 0, + "header_offset": 8919040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h", + "sha256": "24615be2b839893f983c6bd916065b7dbf708f5a8517c5905d8571d6527fa81e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 23198, + "data_offset": 8921600, + "gid": 0, + "header_offset": 8921088, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h", + "sha256": "81664ae9afd3c1ecd324c6bbdea316238e0ea2c088d7f01b71904d633725a39d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7260, + "data_offset": 8945664, + "gid": 0, + "header_offset": 8945152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h", + "sha256": "67399acc52c905646efc22970c64b744431ad89781dd5fe471ef0b2705bdb928", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 69861, + "data_offset": 8953856, + "gid": 0, + "header_offset": 8953344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h", + "sha256": "72c8a34ea0beb747d9b4ae82cc8c206dce09ed0de5b6a2e0e147df7c959274dc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 25753, + "data_offset": 9024512, + "gid": 0, + "header_offset": 9024000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h", + "sha256": "b5db489b124efdadac5fdb41ae52b43b833e2068bfe30e8d7bb32378ebebe324", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1898, + "data_offset": 9051136, + "gid": 0, + "header_offset": 9050624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h", + "sha256": "e2682f2108c770b4cff558b4a94f34e727b63bc27952e35bb429d8bc10e9c45c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2740, + "data_offset": 9053696, + "gid": 0, + "header_offset": 9053184, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h", + "sha256": "686c6456f152eebb3165a614a7bb9a023c9288321b45deb8dc48fcc9b7001e71", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2882, + "data_offset": 9057280, + "gid": 0, + "header_offset": 9056768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h", + "sha256": "d47a731de33f8ec5b39d1766423dd09f2c96166a97136a9ef3d2d45db2219cf1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2494, + "data_offset": 9060864, + "gid": 0, + "header_offset": 9060352, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h", + "sha256": "175e52e40899cf68d11021d9003601f4504e3645f77ab5660c469d34295055c3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1248, + "data_offset": 9063936, + "gid": 0, + "header_offset": 9063424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h", + "sha256": "e849d35541688b86c31bc9b8f680644932badbe00390fa10012b1f278d2bdc76", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1922, + "data_offset": 9065984, + "gid": 0, + "header_offset": 9065472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h", + "sha256": "ee8dc16a1108fc9fd35fcd814fd4a46a4d91a3300199ebeee46cf6bd3d2b7dcb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 845, + "data_offset": 9068544, + "gid": 0, + "header_offset": 9068032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h", + "sha256": "4044e2f7b1a8b7c71ea1a4044ad475654b8deaa774515e79e93986b7ba22238f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8783, + "data_offset": 9070080, + "gid": 0, + "header_offset": 9069568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h", + "sha256": "94fd38febea66c112ae50f7a40614f9d6a4a6891ce1e0c2ce9fabaf7b5b7dba5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1967, + "data_offset": 9079808, + "gid": 0, + "header_offset": 9079296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h", + "sha256": "281eb66117fa6e31a1c2a8dec62e6b7cd89fd254fce5c0b661e7251c7413d636", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4209, + "data_offset": 9082368, + "gid": 0, + "header_offset": 9081856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h", + "sha256": "43f2b75441dddf1761845ccf1ba5801ec6cbe28c12b4d49247b6a0e28d0df0ee", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2239, + "data_offset": 9087488, + "gid": 0, + "header_offset": 9086976, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h", + "sha256": "3ab97eca2ae52177f8569ca13446c7e042ac120dd5e268f7a350729460cca265", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2743, + "data_offset": 9090560, + "gid": 0, + "header_offset": 9090048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h", + "sha256": "4fad928b3dc11362c2a40724cb2c57ab833a094289ed0a543769eafc8984884f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1119, + "data_offset": 9094144, + "gid": 0, + "header_offset": 9093632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h", + "sha256": "92d5051512088e6eec0cc59ac147f6341324424b3097b007cc6fdddc3f5bcedf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2731, + "data_offset": 9096192, + "gid": 0, + "header_offset": 9095680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h", + "sha256": "8f3c9e4aaa6c024e292ecec67bfd1f1dddc53a03ee3aa0d1800e8473ad2fd307", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 864, + "data_offset": 9099776, + "gid": 0, + "header_offset": 9099264, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h", + "sha256": "93e5e2a2451f179f82e0bbb9e05212f86409afc0c8819449907eee3ffbf7ba61", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 33360, + "data_offset": 9101312, + "gid": 0, + "header_offset": 9100800, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h", + "sha256": "5c0d48970ef2feff54f820cedbd2ec03ed4429ebe01fcd418a0798fa2cdeb732", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2233, + "data_offset": 9135616, + "gid": 0, + "header_offset": 9135104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h", + "sha256": "0e30ea4024a1137cfbc0a9f111a95af10b81229f382d5c78ab7f3a758b5df4b0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2611, + "data_offset": 9138688, + "gid": 0, + "header_offset": 9138176, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h", + "sha256": "55946e594a4411c6952e58ba0c48c0fc9b04f2d5343f4569c24e491a06c911a8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2639, + "data_offset": 9142272, + "gid": 0, + "header_offset": 9141760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h", + "sha256": "ac1fe4387efb0886401aab91be2a163eaef8e19d4c86edfc01ce7cabb46f2c89", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1257, + "data_offset": 9145856, + "gid": 0, + "header_offset": 9145344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h", + "sha256": "4de1ecd294cf8f170d9125bcc679e7e97cf6eddf196fbad815b1dcc09d7f0974", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1660, + "data_offset": 9147904, + "gid": 0, + "header_offset": 9147392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h", + "sha256": "2e5ee918aadfad4eab3110ac015b58f0a422322837428b820d0fcad31e6f7c2a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1370, + "data_offset": 9150464, + "gid": 0, + "header_offset": 9149952, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h", + "sha256": "fdcc413bd1c26e60ced05955775249adc50d845cc717e1232b771cbc46a10cd2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7908, + "data_offset": 9152512, + "gid": 0, + "header_offset": 9152000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h", + "sha256": "e480abea7e5453f93991d93b68eba5f24172cd5025edc69d1903ecaac3377ab4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1080, + "data_offset": 9161216, + "gid": 0, + "header_offset": 9160704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h", + "sha256": "4aa56ee7936b971cdcfcfe02d8e50b7c73898148d0b13c900998cce4b3e3826c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 925, + "data_offset": 9163264, + "gid": 0, + "header_offset": 9162752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h", + "sha256": "d57695859d946a0a08b6ba67647d9f019719e7ae28d00aafa9090bb1ffd23821", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 783, + "data_offset": 9164800, + "gid": 0, + "header_offset": 9164288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h", + "sha256": "39890e388df9c1e58ea3231fd8b62e83cdc94eacd9ca34697202432f512000fb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 866, + "data_offset": 9166336, + "gid": 0, + "header_offset": 9165824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h", + "sha256": "19e58e107972cbc4dd0c476501c9f22cfc8928e44656d5a0b63406a69fe1147f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1190, + "data_offset": 9167872, + "gid": 0, + "header_offset": 9167360, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h", + "sha256": "e3471ff30a880e9fb0b20536337e1c47ad81e95191a0d7a9d3f68769a446cc79", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9848, + "data_offset": 9169920, + "gid": 0, + "header_offset": 9169408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h", + "sha256": "7eb1f5add837f73a595b6f99be137f4504bc78a2545d5113a4ac04c7dd40aee7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1487, + "data_offset": 9180672, + "gid": 0, + "header_offset": 9180160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h", + "sha256": "27b4830de909093ea950ef749f2bec5262292e20085e9b3f03e9c7560cf355ac", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2216, + "data_offset": 9182720, + "gid": 0, + "header_offset": 9182208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h", + "sha256": "9180801003efef48b9ac6478249a61a2007cfbdb6ca6869bf6a843878ff04779", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3026, + "data_offset": 9185792, + "gid": 0, + "header_offset": 9185280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h", + "sha256": "7210f337e00c14ab24f5e12a0548fe10ddd9a116fab8a026d1d4af53a3d1756b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2892, + "data_offset": 9189376, + "gid": 0, + "header_offset": 9188864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h", + "sha256": "2dc61c12421e0fd2556fcbb4a3f09d983ec09487f443543dfd1f399e49970cdc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 948, + "data_offset": 9192960, + "gid": 0, + "header_offset": 9192448, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h", + "sha256": "d691cd0b7efc3973eb7643177b9fb7fc703f535f8d3a2feb8721769838e57fb1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3960, + "data_offset": 9194496, + "gid": 0, + "header_offset": 9193984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h", + "sha256": "a5952f0283876d4936a5f2d4b02986501eecb1648ae6df9aa1377cbe702b1c52", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4169, + "data_offset": 9199104, + "gid": 0, + "header_offset": 9198592, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h", + "sha256": "1999fca83931fd4e130324c8c322eeb584fc0ee93f2d5f792588fcc9b473f6ed", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1298, + "data_offset": 9204224, + "gid": 0, + "header_offset": 9203712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h", + "sha256": "6cc2f85619723a929dd0769d5072625b5fd8d50edc7421e70fff43edb7169d94", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10715, + "data_offset": 9206272, + "gid": 0, + "header_offset": 9205760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h", + "sha256": "321de0f0993e17553bb211f21edff5b4f1c11738d5551116f3b06a8393ce41f9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6924, + "data_offset": 9217536, + "gid": 0, + "header_offset": 9217024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h", + "sha256": "5fc7bd13d7161135656c45c6a9c7e3e2e76677cb871bd37306c2334a890cad9c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1524, + "data_offset": 9225216, + "gid": 0, + "header_offset": 9224704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h", + "sha256": "715849f809a9ec47d18dc8dce4bdef3b4e80327d0ffc711e4aca057142af2f34", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 917, + "data_offset": 9227264, + "gid": 0, + "header_offset": 9226752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h", + "sha256": "e56a2853b629f9b88dde117aca2213d76329ddcd20a88536abf9cbc0bf3e1828", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4235, + "data_offset": 9228800, + "gid": 0, + "header_offset": 9228288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h", + "sha256": "256730ffac7856335a8ac3a080822cecfa7f330d77377fb806c370c84869ba92", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4840, + "data_offset": 9233920, + "gid": 0, + "header_offset": 9233408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h", + "sha256": "d00fc4ff751939442bb13200c245be5c7ab180a7f72e7b319b20548e918612b3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3558, + "data_offset": 9239552, + "gid": 0, + "header_offset": 9239040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h", + "sha256": "cad297231afa3fe7cc90d66cd8507d13c037e5d1818e2b7d799b9a32d6e6efe9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4832, + "data_offset": 9243648, + "gid": 0, + "header_offset": 9243136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h", + "sha256": "9137c7fe117fec9307874e6171240c6187918b3196b22565af89ec9c944f5349", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1144, + "data_offset": 9249280, + "gid": 0, + "header_offset": 9248768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h", + "sha256": "5a26f5d6c0099b6f338ed8b99cc028567836d8efdc08e26af4fb513456cec2f2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4350, + "data_offset": 9251328, + "gid": 0, + "header_offset": 9250816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h", + "sha256": "e0eef442b4a28d84342c008c03db818e0321a1e86a2308d5ab3fdde9a2786b58", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 28402, + "data_offset": 9256448, + "gid": 0, + "header_offset": 9255936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h", + "sha256": "c57a807c586b9bc8badbeb0efca1998a5b02ddd772685fa45affa05d775d3ab5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4401, + "data_offset": 9285632, + "gid": 0, + "header_offset": 9285120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h", + "sha256": "4bf2efbba9eff4a89fc749d3e8eeeab4214413d01b7708fe398138fbbf445469", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 94603, + "data_offset": 9290752, + "gid": 0, + "header_offset": 9290240, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h", + "sha256": "d8c0f2d77952e655c40122a1f81d332bbbf3b60d8a0e6e35a65b709f9fa82018", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1736, + "data_offset": 9385984, + "gid": 0, + "header_offset": 9385472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h", + "sha256": "48a0510e236793b2b45f59b153f12e99e354ae7f522723859b6572c3890cf297", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 72523, + "data_offset": 9388544, + "gid": 0, + "header_offset": 9388032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def", + "sha256": "f70aa7747e4e7eb16e7b8e5b980ce7aad073f3eab04b0490b04757075751557f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 263001, + "data_offset": 9461760, + "gid": 0, + "header_offset": 9461248, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h", + "sha256": "e43b7e2a14af9d9f70d3665117a7c56022dc024e9d7d5342515480b661c1a4fb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2857, + "data_offset": 9725440, + "gid": 0, + "header_offset": 9724928, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def", + "sha256": "ff574f07a550c10b969f9bc6e807cff29dd42165f5b4576346d582f61eb977d2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2074, + "data_offset": 9729024, + "gid": 0, + "header_offset": 9728512, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h", + "sha256": "d510e8c6a7577927866daa8ac11d119c0053aed4fd06b36e69d46094ac142ee3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 876, + "data_offset": 9732096, + "gid": 0, + "header_offset": 9731584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h", + "sha256": "0d38c04e33b5148e3b942a927cc527426b78ac11ed3ceb4f3269b021f90aa016", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3858, + "data_offset": 9733632, + "gid": 0, + "header_offset": 9733120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h", + "sha256": "aca99131c169f3ad2b1dbdc9ea8212af4db1b60dea6504a4a898f3b709ee6fe8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1507, + "data_offset": 9738240, + "gid": 0, + "header_offset": 9737728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h", + "sha256": "79619807973c2ef13c659fa7b489d03b4f0d33999abdc6e764f24361d2b0175b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16565, + "data_offset": 9740288, + "gid": 0, + "header_offset": 9739776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h", + "sha256": "d0fa2a152a1ccae57677a247f8d3d0e0b7587b8c278b0a25599d93cfec060474", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2454, + "data_offset": 9757696, + "gid": 0, + "header_offset": 9757184, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h", + "sha256": "169467579ba4adbfd804265ac2bd7359ef16c79391fa6602f4d7f2033061bf6b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4631, + "data_offset": 9760768, + "gid": 0, + "header_offset": 9760256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h", + "sha256": "bb80a90527416b1719df1eb3f393a33a0dc0ea441192dacc83e58c69574f52da", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2013, + "data_offset": 9766400, + "gid": 0, + "header_offset": 9765888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h", + "sha256": "89196b6ff62143633c6a518df1836c04bb72e30afb08224e0dbdd75128069274", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4832, + "data_offset": 9768960, + "gid": 0, + "header_offset": 9768448, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h", + "sha256": "8d7d741b2c71b3c7e40e6391815f74052648c61c43ab79119776e74722dcba04", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5296, + "data_offset": 9774592, + "gid": 0, + "header_offset": 9774080, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h", + "sha256": "f1393db4cd32c375b0ce3214da19c2349b24b7fa74d40afa387df74e30927dd1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1408, + "data_offset": 9780736, + "gid": 0, + "header_offset": 9780224, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h", + "sha256": "8212903dda4dede929ebe9dce14e52a435e858d377e1e2e32431d307f3a7c9c9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6554, + "data_offset": 9782784, + "gid": 0, + "header_offset": 9782272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h", + "sha256": "f6cde179c507cc69043d9dd279051d105070ac06dcda4b053e85b0c24763e3b4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 35834, + "data_offset": 9789952, + "gid": 0, + "header_offset": 9789440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h", + "sha256": "7e3b1ccb1268f0a3068503204f0de815e4bf7744b1c519f47f1a9673e10a3188", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17660, + "data_offset": 9826304, + "gid": 0, + "header_offset": 9825792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h", + "sha256": "803a42ad4f6efc53d2e7da1e0860f2bf1431e30a274e2208d32c4c8db4609005", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3366, + "data_offset": 9844736, + "gid": 0, + "header_offset": 9844224, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h", + "sha256": "20af661619be8b238c7e86125de78ee17ff8c1df86ba14819bc2f5d8c5d236b8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5396, + "data_offset": 9848832, + "gid": 0, + "header_offset": 9848320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h", + "sha256": "1615a0e5983a6ae79f9cd34924a43c6b6bc5bc63cd0bd8f688775fc7b41c1b8f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 68181, + "data_offset": 9854976, + "gid": 0, + "header_offset": 9854464, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h", + "sha256": "3b4f5d131eaaf0b85bd32d96b745296829e8b041e51f3edef9b315d95778e84e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20401, + "data_offset": 9924096, + "gid": 0, + "header_offset": 9923584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h", + "sha256": "f8cd58ea9fb282c54da1234af84636a1c3a048ec945f994376afcbc4e752c505", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 885, + "data_offset": 9945088, + "gid": 0, + "header_offset": 9944576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h", + "sha256": "fe068e90580c6b374a6edac2c134b2c4180d393a0147e373cefa33cf2869d1cc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6525, + "data_offset": 9946624, + "gid": 0, + "header_offset": 9946112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h", + "sha256": "99071fb0b5ecdf2815fbbfe637ed7c4b89dcfa1e524c5b818af845ca0db0cbb3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3388, + "data_offset": 9953792, + "gid": 0, + "header_offset": 9953280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h", + "sha256": "47dd314e60d70600a3f8dcc7a7ac53510c59dce4a6d25adb57fda92e8b315201", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6900, + "data_offset": 9957888, + "gid": 0, + "header_offset": 9957376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h", + "sha256": "6bec4dbf6021c2e28cb381ac74f8fe642643c1b3089e0cf5ddd2adf96f672eb9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3351, + "data_offset": 9965568, + "gid": 0, + "header_offset": 9965056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h", + "sha256": "8ba13aba55db5db81c466ba6746d4f69f5d42fa2fc9b003bbbf5e85e9fe3ee06", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1410, + "data_offset": 9969664, + "gid": 0, + "header_offset": 9969152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h", + "sha256": "09fe308dede2d6b4440bfab52635e68e4d6530e9a63d49824dec7e67bd8a7d4e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 113480, + "data_offset": 9971712, + "gid": 0, + "header_offset": 9971200, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h", + "sha256": "f68d0a5f637239065ad46e0f6bcc840d3491e33b391ed85844eb1983b9d34f81", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1177, + "data_offset": 10085888, + "gid": 0, + "header_offset": 10085376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h", + "sha256": "586e49f5466bd85323f6b458ba8c1beb99bed3bfb5f62fbe8a2ad5bbb87c26b1", + "typeflag": "30", + "uid": 0 + } + ], + "full_C05": false, + "full_V03": false, + "metadata_repair": { + "corrected_ar_inventory": [ + { + "bytes": 4, + "data_offset": 68, + "gid": 0, + "mode": 33188, + "name": "debian-binary", + "offset": 8, + "raw_header": "64656269616e2d62696e617279202020313736363039313539312020302020202020302020202020313030363434202034202020202020202020600a", + "sha256": "d526eb4e878a23ef26ae190031b4efd2d58ed66789ac049ea3dbaf74c9df7402", + "timestamp": 1766091591, + "uid": 0 + }, + { + "bytes": 12242, + "data_offset": 132, + "gid": 0, + "mode": 33188, + "name": "control.tar.zst", + "offset": 72, + "raw_header": "636f6e74726f6c2e7461722e7a737420313736363039313539312020302020202020302020202020313030363434202031323234322020202020600a", + "sha256": "df7c07a35b49e78d49838fcfd9e7731e25e1cb2b063ebc5118722fdb6d3b3fe4", + "timestamp": 1766091591, + "uid": 0 + }, + { + "bytes": 1439435, + "data_offset": 12434, + "gid": 0, + "mode": 33188, + "name": "data.tar.zst", + "offset": 12374, + "raw_header": "646174612e7461722e7a737420202020313736363039313539312020302020202020302020202020313030363434202031343339343335202020600a", + "sha256": "19fbe1ba54abe3737d8161327021c549585c263bcca51d446fd148c33080db3c", + "timestamp": 1766091591, + "uid": 0 + } + ], + "fresh_tar_decoding": false, + "generated_binding_defect": "caller supplied matching text could receive pinned-driver label; exact embedded and compiler-binding reports now independently pinned and label narrowed", + "independent_compressed_slice_checks": [ + { + "bytes": 4, + "data_offset": 68, + "matches_preserved_v1_member_identity": true, + "name": "debian-binary", + "offset": 8, + "sha256": "d526eb4e878a23ef26ae190031b4efd2d58ed66789ac049ea3dbaf74c9df7402" + }, + { + "bytes": 12242, + "data_offset": 132, + "matches_preserved_v1_member_identity": true, + "name": "control.tar.zst", + "offset": 72, + "sha256": "df7c07a35b49e78d49838fcfd9e7731e25e1cb2b063ebc5118722fdb6d3b3fe4" + }, + { + "bytes": 1439435, + "data_offset": 12434, + "matches_preserved_v1_member_identity": true, + "name": "data.tar.zst", + "offset": 12374, + "sha256": "19fbe1ba54abe3737d8161327021c549585c263bcca51d446fd148c33080db3c" + } + ], + "observed_utc": "2026-11-02T09:35:25.560464+00:00", + "package_sha256_unchanged": true, + "preserved_v1_ar_report_sha256": "1ea9badd67a4e768106c515d1cae504845df9d75bfd4b38a83c44bf282bbcfe3", + "regular_retained_member_hashes_rechecked": 474, + "rejected_code_defect": "strict_ar numeric-field loop shadowed header start; corrected with separate header_start and field_start/field_end", + "rejected_v1_payload_report_sha256": "67e2d71f4affb83e458f226786e93361ec2cae3a3d19f9dd894d51d341ce61f7", + "tar_inventory_disposition": "Carried forward unchanged from immutable v1 payload report and its decoder evidence; not decoded again and not a fresh decoding milestone" + }, + "missing_required": [], + "observed_utc": "2026-11-02T09:11:35.707930+00:00", + "original_execution": false, + "package": { + "association": "exact matching checksum rows in retained records", + "buildinfo_sha256": "6ee3421f6cf17d77a50122b6934790bdcc64e42ba82c6812d257055cef434b83", + "bytes": 1451870, + "changes_sha256": "db40bf0222e18a133216deb061955adc3a54ef4ff6e1b4fe469ff8c404422b61", + "filename": "gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb", + "sha256": "3a64b52ae21aa6bc9f2a9aeff336a925bd22675e34c9fd2040785ee4f38a917f", + "signature_verified": false + }, + "required_headers": { + "auto-host.h": { + "bytes": 59854, + "data_offset": 1458688, + "gid": 0, + "header_offset": 1458176, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "sha256": "9ada1fb9d8c6f4d39e950fc3dfcefb81767c418d924a7e254774bda30e5a4537", + "typeflag": "30", + "uid": 0 + }, + "b-header-vars": { + "bytes": 40843, + "data_offset": 1521152, + "gid": 0, + "header_offset": 1520640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "sha256": "2af4b5b1ac67ee4075226fe87c19e0926c430c9e560034da071e6581902623a5", + "typeflag": "30", + "uid": 0 + }, + "config.h": { + "bytes": 217, + "data_offset": 2425856, + "gid": 0, + "header_offset": 2425344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "sha256": "41150681fe15436d17aa3a0b45b57345a65238fb945b14b0ca2bdf857e723e48", + "typeflag": "30", + "uid": 0 + }, + "configargs.h": { + "bytes": 1640, + "data_offset": 2426880, + "gid": 0, + "header_offset": 2426368, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "sha256": "987c0a46b31907a609c15c749988921053bdf81e77d3a695c981d7be7a9378fc", + "typeflag": "30", + "uid": 0 + }, + "defaults.h": { + "bytes": 42136, + "data_offset": 3017216, + "gid": 0, + "header_offset": 3016704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "sha256": "012ff1fece4d6d52b00647a49472045054094afa11637d7d5fdaced73ab95eae", + "typeflag": "30", + "uid": 0 + }, + "distro-defaults.h": { + "bytes": 488, + "data_offset": 3181568, + "gid": 0, + "header_offset": 3181056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "sha256": "2ccde3e3cbe4fc9fba8da310295f775d5bd77d9742090f74708f4ff24f683f6d", + "typeflag": "30", + "uid": 0 + }, + "options.h": { + "bytes": 504497, + "data_offset": 6825984, + "gid": 0, + "header_offset": 6825472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3", + "typeflag": "30", + "uid": 0 + }, + "tm.h": { + "bytes": 1184, + "data_offset": 8897536, + "gid": 0, + "header_offset": 8897024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "sha256": "d384ae33a23985613c839280f1b4845b3415c055e32209c6bc795a4d594f018f", + "typeflag": "30", + "uid": 0 + }, + "tm_p.h": { + "bytes": 178, + "data_offset": 8899584, + "gid": 0, + "header_offset": 8899072, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "retained_equal_existing_partial": false, + "saved_path": "/home/d3lerium/.codex/.chatgpt-projects/g-p-6ad5817fd84881918865926b6fd51453/outputs/c05-v03-completion-20261102T055710Z/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "sha256": "d8729f976710961c7d34afc545be1c22dfb654be3425ce379511c6f837979141", + "typeflag": "30", + "uid": 0 + } + }, + "schema": "unit03-plugin-payload-v2", + "source_build_correspondence": "publisher same-build association; generated output bytes observed, no regeneration or complete installed query semantics proof", + "tar_members": { + "control.tar.zst": [ + { + "bytes": 0, + "data_offset": 512, + "gid": 0, + "header_offset": 0, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": ".", + "raw_path": ".", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 684, + "data_offset": 1024, + "gid": 0, + "header_offset": 512, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "control", + "raw_path": "./control", + "sha256": "4bc09829ffea727e7f43f6b14150798e1e784a3dd2b48adef5b578b9aedfa1bd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 45223, + "data_offset": 2560, + "gid": 0, + "header_offset": 2048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "md5sums", + "raw_path": "./md5sums", + "sha256": "3f23ce0979a27ac4a8d8e178468e1565055e44935f381ffe9bcb4c103e0a5f68", + "typeflag": "30", + "uid": 0 + } + ], + "data.tar.zst": [ + { + "bytes": 0, + "data_offset": 512, + "gid": 0, + "header_offset": 0, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": ".", + "raw_path": ".", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 1024, + "gid": 0, + "header_offset": 512, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr", + "raw_path": "./usr", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 1536, + "gid": 0, + "header_offset": 1024, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib", + "raw_path": "./usr/lib", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2048, + "gid": 0, + "header_offset": 1536, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc", + "raw_path": "./usr/lib/gcc", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2560, + "gid": 0, + "header_offset": 2048, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 3072, + "gid": 0, + "header_offset": 2560, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 3584, + "gid": 0, + "header_offset": 3072, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 1370179, + "data_offset": 4096, + "gid": 0, + "header_offset": 3584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/gtype.state", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/gtype.state", + "sha256": "4cdd12d283b7067cc913425d4170f6912a7313c4b17a46eef1547fbec7cabc42", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 1375232, + "gid": 0, + "header_offset": 1374720, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 1375744, + "gid": 0, + "header_offset": 1375232, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 1376256, + "gid": 0, + "header_offset": 1375744, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 4978, + "data_offset": 1376768, + "gid": 0, + "header_offset": 1376256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def", + "sha256": "023fa7450452b94ef3d2c508b2a378e59d8688f30699769ce0ed6d2bfeceac48", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2945, + "data_offset": 1382400, + "gid": 0, + "header_offset": 1381888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h", + "sha256": "f3d9edb2e4328d6c9619e835b87b5e3f6e14d4ede997bbb73d1bff083c80bc00", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2184, + "data_offset": 1385984, + "gid": 0, + "header_offset": 1385472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h", + "sha256": "c5b72a9516a7eca30a957d1f76cc7c8a932e0a28583b3098e99375a9b25f5c88", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2507, + "data_offset": 1389056, + "gid": 0, + "header_offset": 1388544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h", + "sha256": "4c9ae2bac830bd5024c670a17296f902aa9bba4584c30317f02eb5fbcb1526e7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 224, + "data_offset": 1392128, + "gid": 0, + "header_offset": 1391616, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def", + "sha256": "bcad5255616b42ac69bbb250184c8cce7e020d1330397fd22d78c8daea826a15", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15524, + "data_offset": 1393152, + "gid": 0, + "header_offset": 1392640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h", + "sha256": "536ca12849b965f7516424aff8e05cbbb54b802eb29c92f548af3217c3fcde32", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11777, + "data_offset": 1409536, + "gid": 0, + "header_offset": 1409024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h", + "sha256": "06716406a6cd33f5bf987864ce2ffe27a5977393bfb28b7ce87621a67e05f91d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1535, + "data_offset": 1422336, + "gid": 0, + "header_offset": 1421824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h", + "sha256": "af336c61ed00f1362de0043ceb92f06fe5f7360f2f4a11bfb5c8ba92702fd57e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8837, + "data_offset": 1424384, + "gid": 0, + "header_offset": 1423872, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h", + "sha256": "7c9f6f7fe091d89eb48ead7aaf5bc26a177a90c4e76739e1839c88cfbb70f023", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8716, + "data_offset": 1434112, + "gid": 0, + "header_offset": 1433600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h", + "sha256": "f45972c3926988376dacf76a0003996a5a7a1dd26397380774d9c810aae3eab7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13872, + "data_offset": 1443840, + "gid": 0, + "header_offset": 1443328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h", + "sha256": "ce4072bfd29536a4b8e91c985f19ae31a3b7650b4f0ce2f06c291551693b0d77", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 59854, + "data_offset": 1458688, + "gid": 0, + "header_offset": 1458176, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h", + "sha256": "9ada1fb9d8c6f4d39e950fc3dfcefb81767c418d924a7e254774bda30e5a4537", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1143, + "data_offset": 1519104, + "gid": 0, + "header_offset": 1518592, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h", + "sha256": "8527a175c79dba1a8a8f77b128e6cd4adf210d6a13bf7f21324f2a75044bdcfa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 40843, + "data_offset": 1521152, + "gid": 0, + "header_offset": 1520640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars", + "sha256": "2af4b5b1ac67ee4075226fe87c19e0926c430c9e560034da071e6581902623a5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1067, + "data_offset": 1562624, + "gid": 0, + "header_offset": 1562112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h", + "sha256": "a769348fbcf2cc4f62cb4104535b37328472ff6679e9d4ebd7525a91b1ac4f9f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18619, + "data_offset": 1564672, + "gid": 0, + "header_offset": 1564160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h", + "sha256": "f2619ee16c3a42f950b0b427af2956dcbf2a22fb7041fd43b529331fbd3ca4bf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1277, + "data_offset": 1584128, + "gid": 0, + "header_offset": 1583616, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h", + "sha256": "e7d3be61e74749602b32d77554f5d56de18f5ef167867b250e482e64406a8f17", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 37570, + "data_offset": 1586176, + "gid": 0, + "header_offset": 1585664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h", + "sha256": "fdd9be6d48e92ca2fcd053c56c3e746d120745f51fe1acbc1f4490ffb54156db", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20110, + "data_offset": 1624576, + "gid": 0, + "header_offset": 1624064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def", + "sha256": "fdc2318336bbbd9a51502898c6b46e625ead62fe907aad576f35f7569fd8b26a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 53342, + "data_offset": 1645568, + "gid": 0, + "header_offset": 1645056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def", + "sha256": "a7e984fe65c232e518c037d5bb4d16cf74e8f81738eed401492248b164196264", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 95755, + "data_offset": 1699840, + "gid": 0, + "header_offset": 1699328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def", + "sha256": "bbd89bafc02c73b4ec6b15b4322fc517fa8fe58ded45a747892b0e4f12d78d0b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7200, + "data_offset": 1796608, + "gid": 0, + "header_offset": 1796096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h", + "sha256": "15c5c27a7b2e9be79373d761604f12a4ed74d3504778d4a2469f0356807fca79", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 171, + "data_offset": 1804800, + "gid": 0, + "header_offset": 1804288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h", + "sha256": "8ad05936a160214baea3c8aadede4475fdf3ece6962f85e61e962fd6590b11ef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 1805824, + "gid": 0, + "header_offset": 1805312, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 4172, + "data_offset": 1806336, + "gid": 0, + "header_offset": 1805824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def", + "sha256": "4385cc13d39e61053458f6d79ab7626c136c03b58976d613a33732351c295f18", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 59318, + "data_offset": 1811456, + "gid": 0, + "header_offset": 1810944, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h", + "sha256": "d5498885fbcd854b4c26f557501490d5e00b40c549270d10b7bc11a9320ed7f7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8033, + "data_offset": 1871360, + "gid": 0, + "header_offset": 1870848, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h", + "sha256": "460eb8b3721b06a7d87e4f19083d96ba7a78a56ab312b5a68d659ec42420195a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9549, + "data_offset": 1880064, + "gid": 0, + "header_offset": 1879552, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h", + "sha256": "14a75ae7cdb8b0e84b4269f0afb2f8dbf429e840ec42f609511602da8e8da98a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5324, + "data_offset": 1890304, + "gid": 0, + "header_offset": 1889792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h", + "sha256": "fc1bd1ad525e0ee3b6b481b8038aad31b98fe8dbebb1f3ffcea9e75987c45d82", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 35134, + "data_offset": 1896448, + "gid": 0, + "header_offset": 1895936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h", + "sha256": "bdd621639433a009ef8ab0204f78ba4020c9f6357b246234f6bf3939017cceaa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5291, + "data_offset": 1932288, + "gid": 0, + "header_offset": 1931776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h", + "sha256": "188f6dd04a978928c8ef21b6a6ec30b467d57da3e3b1c8d9828aa1023a32d830", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 845, + "data_offset": 1938432, + "gid": 0, + "header_offset": 1937920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h", + "sha256": "84864c1ceac3d4e5a8dcde662ce2ca9652fa687d7df61c1b1a73d68193b874ef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6828, + "data_offset": 1939968, + "gid": 0, + "header_offset": 1939456, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def", + "sha256": "f5566f1fab9f1589b2c7b9d96c9b73dcbc02523f686bc264d07c3d03a9efd8fb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6429, + "data_offset": 1947648, + "gid": 0, + "header_offset": 1947136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h", + "sha256": "2288eb67df53ccfcdff79d0a9d8fb690f06c2de84e5bd5c2c1b307f371c635b6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3473, + "data_offset": 1954816, + "gid": 0, + "header_offset": 1954304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h", + "sha256": "9d1626ebff3462fc9b4f8518ea47992e84dd112f63fe6e6b7fe31270ddcdecc5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1016, + "data_offset": 1958912, + "gid": 0, + "header_offset": 1958400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h", + "sha256": "75674de6ab66278b0b0991e2ba376482c273b2f7e8d025650a85e5285a2b598e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1303, + "data_offset": 1960448, + "gid": 0, + "header_offset": 1959936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h", + "sha256": "cb1dfd9de683927cbaae3e207f0aa98aeb07cab5147180017dd7a11cc9fc8a78", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 966, + "data_offset": 1962496, + "gid": 0, + "header_offset": 1961984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h", + "sha256": "d9b617983dc0a9ab8d4b648c63ff0b633b7e2f81768cde0dc36368f46c34e3a1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11428, + "data_offset": 1964032, + "gid": 0, + "header_offset": 1963520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h", + "sha256": "1fdd54693186cb5c8abf38667ac146e94bc69164049da65bd34275b7fcf85da0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27914, + "data_offset": 1976320, + "gid": 0, + "header_offset": 1975808, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h", + "sha256": "fe09467eea2c176f44e53a0d369d18ad6a489620dd18b426d1d3c40e6f095167", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2499, + "data_offset": 2004992, + "gid": 0, + "header_offset": 2004480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h", + "sha256": "d5287436e49903f67cfbb8137e0a028a5a541df43b0252023d37ae17a9491226", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2688, + "data_offset": 2008064, + "gid": 0, + "header_offset": 2007552, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h", + "sha256": "3ccab97cd645994aecb66045edb13b71017dbf012ee086b97cd6dcb22781be99", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 124842, + "data_offset": 2011648, + "gid": 0, + "header_offset": 2011136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h", + "sha256": "77b643cde2dc6c81e6e28d3265c05dd1ddb4c99d9b37841901a35edc08e8e612", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5632, + "data_offset": 2137088, + "gid": 0, + "header_offset": 2136576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def", + "sha256": "f27acb01a17cc0c62c01aa4982155115bfd69deeec1766e3c26cd630973d2405", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1694, + "data_offset": 2143232, + "gid": 0, + "header_offset": 2142720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h", + "sha256": "69db322f7d423f2e7bfcdf0ccae1c90c3853c69ac8c209c0e894d6784f0d19b7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8594, + "data_offset": 2145792, + "gid": 0, + "header_offset": 2145280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h", + "sha256": "7870fdbea37370be7ec92824a4fe4e7c24bfe62767b448801efccfa0f83df7bd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1308, + "data_offset": 2155008, + "gid": 0, + "header_offset": 2154496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h", + "sha256": "ffc4a02f68215b91971535d2569ddb46c65626f83aad16bb9d7cc5e31280e10d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4891, + "data_offset": 2157056, + "gid": 0, + "header_offset": 2156544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h", + "sha256": "baa85177f344454041d22b1147ed169ab68064beb0cd4a7adfc8fcbeefca7b3f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2162688, + "gid": 0, + "header_offset": 2162176, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2163200, + "gid": 0, + "header_offset": 2162688, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2163712, + "gid": 0, + "header_offset": 2163200, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 6023, + "data_offset": 2164224, + "gid": 0, + "header_offset": 2163712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h", + "sha256": "5bab14b3fb8ef807879c249b52041d158c3983e5c149f175cdc7aacb865f188a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2766, + "data_offset": 2170880, + "gid": 0, + "header_offset": 2170368, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h", + "sha256": "15954fefc8d00dd5d2a3ceaf17f957a78bcf08ca25681703fba345649bf4c97a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2174464, + "gid": 0, + "header_offset": 2173952, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 17996, + "data_offset": 2174976, + "gid": 0, + "header_offset": 2174464, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h", + "sha256": "255fe5da07efc03e66574ab45a1c92deb4ed7cc064f83677e1cae109065b8354", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2854, + "data_offset": 2193920, + "gid": 0, + "header_offset": 2193408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h", + "sha256": "45e61be0214122daed3ce73a9edec9709c8d1b191a424ed6efd6db4d5b31f032", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6054, + "data_offset": 2197504, + "gid": 0, + "header_offset": 2196992, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h", + "sha256": "8f3518bc748dd1f7c1f19bcc2d59201405b5a599820256ff1ecdf9ea63392daf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2204160, + "gid": 0, + "header_offset": 2203648, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 3186, + "data_offset": 2204672, + "gid": 0, + "header_offset": 2204160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h", + "sha256": "48cc90a7598d0ab51a85b0cf3143f187610754da7c47ecd9ac463f2c9d5cec29", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1293, + "data_offset": 2208768, + "gid": 0, + "header_offset": 2208256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h", + "sha256": "a6fe8538bcc4db531f57ddb5b80d28e09b05c875e497f58542ff7fa4252cdfef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2629, + "data_offset": 2210816, + "gid": 0, + "header_offset": 2210304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h", + "sha256": "14a738ecc63fc02ceb153060c87722d3417ebf5564ca7889f2f27c742f20285c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3309, + "data_offset": 2214400, + "gid": 0, + "header_offset": 2213888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h", + "sha256": "5507732a24911a39abbf7d2526fd8c1b09db98c0519b7388b7143a3c01bdbccb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2399, + "data_offset": 2218496, + "gid": 0, + "header_offset": 2217984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def", + "sha256": "d4d39a44bc16d20dc2c8a10ad4b70156a548e2d38a32fda01811a253d8f4952a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3322, + "data_offset": 2221568, + "gid": 0, + "header_offset": 2221056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h", + "sha256": "84ae505f2aeabbece530164dbefa82465b943331e490bb73ce40d088d9879ce9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17536, + "data_offset": 2225664, + "gid": 0, + "header_offset": 2225152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h", + "sha256": "d5a24ab0e669449ec51b483c5472cdf185ce5804c56d014103cee611eabc65df", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 113489, + "data_offset": 2244096, + "gid": 0, + "header_offset": 2243584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h", + "sha256": "55f2cea099e92f2bc0649599d708726fab531a10e9ee15456af35a4975599d21", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2346, + "data_offset": 2358272, + "gid": 0, + "header_offset": 2357760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h", + "sha256": "eb6e3de8ee383f691f2b83c0cdafe8f1687c06c703f0854623dc71569304622b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1669, + "data_offset": 2361344, + "gid": 0, + "header_offset": 2360832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h", + "sha256": "9007684d92746203c280b53a69debfff75851e31c1cd9ce6cd5c61f705d5179c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1040, + "data_offset": 2363904, + "gid": 0, + "header_offset": 2363392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def", + "sha256": "ca5f3b59774dade073e1fc95a86c933634b8407437f250a7882fa762967f158d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2878, + "data_offset": 2365952, + "gid": 0, + "header_offset": 2365440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h", + "sha256": "f6896474c5b3fbc38927276acb79abc519e71b98bba82a614cd05052c24cee28", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2982, + "data_offset": 2369536, + "gid": 0, + "header_offset": 2369024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h", + "sha256": "fecefad6255ddd8d60d9f3b546024a93db37dce7ccf277668de35336ce837471", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 33406, + "data_offset": 2373120, + "gid": 0, + "header_offset": 2372608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def", + "sha256": "864bcae5ff7ba9991e056b5b8dbbe257b2169ac2996bfcd65aab3e80054f9bf3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1625, + "data_offset": 2407424, + "gid": 0, + "header_offset": 2406912, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h", + "sha256": "3b824fa8ab2a86c5b8e5a72b4c868e569780d5e867d80755538e483cdf04b4ab", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1947, + "data_offset": 2409984, + "gid": 0, + "header_offset": 2409472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h", + "sha256": "875e34fffe6e6bf06cecb83c1edfc221c6bb61a096ef38c60abe63914c72d297", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 811, + "data_offset": 2412544, + "gid": 0, + "header_offset": 2412032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h", + "sha256": "4240c4b506975f484248da9a3c668aacd837dba532be7d6d174f40405c9561af", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8504, + "data_offset": 2414080, + "gid": 0, + "header_offset": 2413568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h", + "sha256": "ce71be1f80fac59483042c6dd421bd267765c44f977505955b2718e30da612c4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1611, + "data_offset": 2423296, + "gid": 0, + "header_offset": 2422784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h", + "sha256": "f86e24a101cf141fab63458b812e0aed5bde16850a24d1045f6cebbc2977f3cc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 217, + "data_offset": 2425856, + "gid": 0, + "header_offset": 2425344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h", + "sha256": "41150681fe15436d17aa3a0b45b57345a65238fb945b14b0ca2bdf857e723e48", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1640, + "data_offset": 2426880, + "gid": 0, + "header_offset": 2426368, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h", + "sha256": "987c0a46b31907a609c15c749988921053bdf81e77d3a695c981d7be7a9378fc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1732, + "data_offset": 2429440, + "gid": 0, + "header_offset": 2428928, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h", + "sha256": "aafa561687a1cc40f753d8085f357a82db14b291f195e98f7409606439004c94", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1848, + "data_offset": 2432000, + "gid": 0, + "header_offset": 2431488, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h", + "sha256": "b37b99a1b2bb94e6267ac860b76683eea2ce19e53b51ec0899ac5b1c5b97b2c2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15197, + "data_offset": 2434560, + "gid": 0, + "header_offset": 2434048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h", + "sha256": "169d3b325ba9957aa6dc3953bb26dfed3bed2618950585f1891d4ab9375def21", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1927, + "data_offset": 2450432, + "gid": 0, + "header_offset": 2449920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def", + "sha256": "9b7e57e064c7740d204e9bc19eda510646e3a0801978770e8eef3bf124e662a9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2308, + "data_offset": 2452992, + "gid": 0, + "header_offset": 2452480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h", + "sha256": "5e566a797e02c4abd09b0102310950625e8d325264a17fdbb0817448ca99bbf1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2456064, + "gid": 0, + "header_offset": 2455552, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 9714, + "data_offset": 2456576, + "gid": 0, + "header_offset": 2456064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h", + "sha256": "35d2eb58bf53d383c73d7c362148c2ff354fb2691ac0a86e65562757bf6ffdeb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4936, + "data_offset": 2466816, + "gid": 0, + "header_offset": 2466304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def", + "sha256": "c2ed08f00e4a126eb18bb8668fa966d8d66ebfdc57f65dcc4a66b607f0b3c252", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27148, + "data_offset": 2472448, + "gid": 0, + "header_offset": 2471936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def", + "sha256": "a3d582ccb91cae886555cfe3541283787a2659c1b310d5a4fed427cd54120563", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 350792, + "data_offset": 2500608, + "gid": 0, + "header_offset": 2500096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h", + "sha256": "78c10c94738de11dae4cba0de0e6c81b3f8f4431ca9b2b916d5812663af1020c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4883, + "data_offset": 2852352, + "gid": 0, + "header_offset": 2851840, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h", + "sha256": "533988176d9313b5e081e45c52f0ef1a86e9d518548fdf1f2ae56f2ff71b1a2f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18488, + "data_offset": 2857984, + "gid": 0, + "header_offset": 2857472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h", + "sha256": "3c012c6827b6efa1c9477ecb59b3147036888f0e0183614ef3a7847bad5c89b4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6848, + "data_offset": 2877440, + "gid": 0, + "header_offset": 2876928, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def", + "sha256": "5b3199c6d97f307cb6bbb296e30f7518900548c12d1c8f45699e4e54bd40d2a1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1877, + "data_offset": 2885120, + "gid": 0, + "header_offset": 2884608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h", + "sha256": "3d0f20f1400cbef0786ee4871e656a20a4ab80315641b11e4efddaa79c016888", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1174, + "data_offset": 2887680, + "gid": 0, + "header_offset": 2887168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h", + "sha256": "172a64e3f9a2dc4d2b05bcb3e16716336160ebd801cc17bbde02c81232a9407f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2987, + "data_offset": 2889728, + "gid": 0, + "header_offset": 2889216, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h", + "sha256": "d105e4f83c7403684db87493b30f52304d6a7c4a3ada1f56d3d2fa1d565e007c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 57534, + "data_offset": 2893312, + "gid": 0, + "header_offset": 2892800, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h", + "sha256": "2b9fc43ca45c7d844989c3a04dc311885a3b3537d25166d293a0ec092461bdc0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4592, + "data_offset": 2951680, + "gid": 0, + "header_offset": 2951168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h", + "sha256": "3e3f877bf198338a5bec51c76e87351f246abb69088e7531fef51db2c80e7c84", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15687, + "data_offset": 2956800, + "gid": 0, + "header_offset": 2956288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h", + "sha256": "96197421f357e1e3b007a1757b6f77bb3d76800f453527fb62f547523669d3bc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 2973184, + "gid": 0, + "header_offset": 2972672, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 1386, + "data_offset": 2973696, + "gid": 0, + "header_offset": 2973184, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def", + "sha256": "a07d2e1d5354fef980d33ad14614b445cb1246e3b3222d8dc27eb443f502d484", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10999, + "data_offset": 2975744, + "gid": 0, + "header_offset": 2975232, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h", + "sha256": "e5b02a3dfb361820a5b24fc1710b38666626cc13fb78311332d1ae601a13a873", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6668, + "data_offset": 2987520, + "gid": 0, + "header_offset": 2987008, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def", + "sha256": "68d2ba3391fbcd277d748eecd075b18f8610539a7c4600ac49dbd46b18a17cfc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1229, + "data_offset": 2995200, + "gid": 0, + "header_offset": 2994688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h", + "sha256": "e5f9da2c42dfc0ce09a321a7fb324a63b0ff6c789d761191be58c1c8af7b8e05", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 877, + "data_offset": 2997248, + "gid": 0, + "header_offset": 2996736, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h", + "sha256": "0d029fe1379ceed3849f271390cc12c98359a16631da462f8ba5f12c9131bec8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5459, + "data_offset": 2998784, + "gid": 0, + "header_offset": 2998272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h", + "sha256": "2b647e04c726df5ed328fde718ce5b996366831578c0d1591bf38620be092a06", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11479, + "data_offset": 3004928, + "gid": 0, + "header_offset": 3004416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h", + "sha256": "d3ce98401f5216d6ff167a2701ac6547ef332e1a98eb933778526dd866b6aced", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 42136, + "data_offset": 3017216, + "gid": 0, + "header_offset": 3016704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h", + "sha256": "012ff1fece4d6d52b00647a49472045054094afa11637d7d5fdaced73ab95eae", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 48230, + "data_offset": 3060224, + "gid": 0, + "header_offset": 3059712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h", + "sha256": "ce939e0a7ae288d5d5ed39993f69eca3b2696f8fd9d3d7ba1c8382a6a98fb14f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2361, + "data_offset": 3109376, + "gid": 0, + "header_offset": 3108864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h", + "sha256": "6550085e484d044a7f674ada222696b618520b3028cf2d5916a2e36916d523aa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3567, + "data_offset": 3112448, + "gid": 0, + "header_offset": 3111936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h", + "sha256": "8470edd627b9faa12436145be03125fb8d6359804f88d267056434bb9c1d4cca", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2302, + "data_offset": 3116544, + "gid": 0, + "header_offset": 3116032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h", + "sha256": "0f84d9affbe4c7be3f20b7594db32ac7a8b8b1a5ab6e90045b6e6eeef9cf2bdb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5214, + "data_offset": 3119616, + "gid": 0, + "header_offset": 3119104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h", + "sha256": "2a5d445b78fc1981fc32e9b1ec2ed84b26f7009459b05dc8086bb9dec2002a54", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2084, + "data_offset": 3125760, + "gid": 0, + "header_offset": 3125248, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h", + "sha256": "8f33443da1ae6a5b747ceb0a43f824a65ee10c5205ec3a8ce5909244300aa08d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2270, + "data_offset": 3128832, + "gid": 0, + "header_offset": 3128320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h", + "sha256": "aba695214641b9efe0623f1e9ab999d116912405a5cdccdf3f3b3dd3671b7983", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6885, + "data_offset": 3131904, + "gid": 0, + "header_offset": 3131392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h", + "sha256": "e97bc1cab6272b6aebeefabf0e53e6fbed508bcd82cb90b4fa814a3e92ebdab9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3628, + "data_offset": 3139584, + "gid": 0, + "header_offset": 3139072, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h", + "sha256": "0be5036f3162914a45a387f325f24ef7c00491f53f232053e9ac6e6c16827f05", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1587, + "data_offset": 3144192, + "gid": 0, + "header_offset": 3143680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h", + "sha256": "0e6546e3a19732b9522a15a54aa56f5e0c76ed691cb152ce96f2fd7b3f0926a8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2645, + "data_offset": 3146752, + "gid": 0, + "header_offset": 3146240, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def", + "sha256": "d13eaa301a150ba0415fb5cd8f5f22e001bdabccadb7b3a4a6b02dbaa42cd909", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22673, + "data_offset": 3150336, + "gid": 0, + "header_offset": 3149824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h", + "sha256": "94781ae0ab138d083f6679a1521071723de43930ad8ee077d58b2c165bbf4242", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6740, + "data_offset": 3173888, + "gid": 0, + "header_offset": 3173376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h", + "sha256": "5e6c941c7cfd22065c77c2d1f17af5c2658544e28805c7c3aabeb3f7da0d6d94", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 488, + "data_offset": 3181568, + "gid": 0, + "header_offset": 3181056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h", + "sha256": "2ccde3e3cbe4fc9fba8da310295f775d5bd77d9742090f74708f4ff24f683f6d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3015, + "data_offset": 3182592, + "gid": 0, + "header_offset": 3182080, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h", + "sha256": "b1ed271ed0b8aa8a93f57d8977709d60a210c12b6cffadd8d6bf57dde9fe5b0f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3653, + "data_offset": 3186176, + "gid": 0, + "header_offset": 3185664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h", + "sha256": "961c8c913939e13d4852f3a570366c29fefdd40f0964dec97ee505f647586b8f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4558, + "data_offset": 3190784, + "gid": 0, + "header_offset": 3190272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h", + "sha256": "db08d680f9cdc82f5e28833151567a9d08822b83bb400427d085d870a0dc809b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13501, + "data_offset": 3195904, + "gid": 0, + "header_offset": 3195392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h", + "sha256": "82206f0bf9b69a31fc1a3b12fd8f49a872e58db4df289106580356a6fb688c06", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9321, + "data_offset": 3210240, + "gid": 0, + "header_offset": 3209728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h", + "sha256": "17d8b5525f58ed35c4464cdade8e6464ef9dee9ef256a0eccc4eaeeddc520ed2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 23434, + "data_offset": 3220480, + "gid": 0, + "header_offset": 3219968, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h", + "sha256": "9d27e3418748299347a59ab42ff93c640e520ea31e0c3c76c61f5b5f93654086", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3153, + "data_offset": 3244544, + "gid": 0, + "header_offset": 3244032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h", + "sha256": "1f6bf7e4d5ae00679873a10a3fe49b988fa4639b7260f875fb11230749d0c99c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1993, + "data_offset": 3248640, + "gid": 0, + "header_offset": 3248128, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h", + "sha256": "c114e1458772074b645a9f8c631afc9beffd0e229223576c3cdb340ab1827a2e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16250, + "data_offset": 3251200, + "gid": 0, + "header_offset": 3250688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h", + "sha256": "0303929170f719d93b6cdfb7087ad5382cda932518e1d46adf044675194f9936", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2189, + "data_offset": 3268096, + "gid": 0, + "header_offset": 3267584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h", + "sha256": "e98acf62a5e89d7bad5fc45b533abf35de9d9020217aec6f93bdbee51a7cf667", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20076, + "data_offset": 3271168, + "gid": 0, + "header_offset": 3270656, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h", + "sha256": "56b4b8df8e0985a35eccff9695b2b8da669369a358d36f50f82e82e9305cfc39", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1596, + "data_offset": 3292160, + "gid": 0, + "header_offset": 3291648, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h", + "sha256": "dfe0ce5c23a94e691cfc94d3a0acae1ae2dcc9b237b6ff7e1944429a90cec695", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1382, + "data_offset": 3294720, + "gid": 0, + "header_offset": 3294208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h", + "sha256": "0675494730bc2bc17b41e19765e4a96dc360a6fe451a1890ac23355988f46bff", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2693, + "data_offset": 3296768, + "gid": 0, + "header_offset": 3296256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h", + "sha256": "686244bfa730ce91232887f22bbb0b9413043a714424baffca2aa3bc90d6aea4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 12244, + "data_offset": 3300352, + "gid": 0, + "header_offset": 3299840, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h", + "sha256": "ac102cb63acafb40203090aeab74dacb8323bdfed728383112949911172bf4a4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5741, + "data_offset": 3313152, + "gid": 0, + "header_offset": 3312640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h", + "sha256": "fef76c10fe4494ebe014eb320ec641c97ffab633ce9adafbdda0e6c60e1cc5b7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 21038, + "data_offset": 3319808, + "gid": 0, + "header_offset": 3319296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h", + "sha256": "c75c31bdb6fe8e0dbf142fdc299f8f26ec9dff754664e457a49d1de84c6e481b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13805, + "data_offset": 3341824, + "gid": 0, + "header_offset": 3341312, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h", + "sha256": "ab3389f2a5105969867a2dec77eb92f5dd55cfb3c46d26342e5724ee8e47a4dd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16180, + "data_offset": 3356160, + "gid": 0, + "header_offset": 3355648, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h", + "sha256": "c82178ff485d0a61bdbd2450a9ee16caf57e83d98fd37e3326c53593c644e56e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1717, + "data_offset": 3373056, + "gid": 0, + "header_offset": 3372544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h", + "sha256": "0057ddd2bc41631e6069b900bbd34b7895c248d620da2ecde6a07d06d7c77b9a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1245, + "data_offset": 3375616, + "gid": 0, + "header_offset": 3375104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h", + "sha256": "fc606239667d9c5f0549db1d03e64bc1322d73072e92755dfcea9ea1556dde60", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3524, + "data_offset": 3377664, + "gid": 0, + "header_offset": 3377152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h", + "sha256": "93d972961c2d41445faa2ff3ac5ac4aa9f68ac332e31ca32dd77b08ad8830b60", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4155, + "data_offset": 3381760, + "gid": 0, + "header_offset": 3381248, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h", + "sha256": "2312325be7943854df0faade267a89b1454cec041e035614d0499f8ce3a8c538", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15499, + "data_offset": 3386880, + "gid": 0, + "header_offset": 3386368, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h", + "sha256": "5796693bde1e7f9686a857964835bdc7bef1ff9c3a597ef24c1bd8e2eb398d9c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3627, + "data_offset": 3403264, + "gid": 0, + "header_offset": 3402752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h", + "sha256": "52d3cc3697ccb7e70ed38655aee02914046ac9d11284278c2078c88df447d6ee", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1032, + "data_offset": 3407872, + "gid": 0, + "header_offset": 3407360, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h", + "sha256": "94afc3bfb186de354f97612522fd97b07d7b8a552d9d99665aec6804111dff21", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13407, + "data_offset": 3409920, + "gid": 0, + "header_offset": 3409408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h", + "sha256": "f440020333fb36bfc709dad7271c43fdb96229f041dcd9248fa3e30193207afd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11340, + "data_offset": 3424256, + "gid": 0, + "header_offset": 3423744, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h", + "sha256": "4a87c748bc1dbd27969a4ab1a1b50d44e512b3b6d939f07b582002be8c3bb0a9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 26167, + "data_offset": 3436544, + "gid": 0, + "header_offset": 3436032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h", + "sha256": "221af11d18566ae92ed7a523a9a334bc33b1b2b6621e1b30df86544c6c1ffafd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1247, + "data_offset": 3463680, + "gid": 0, + "header_offset": 3463168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h", + "sha256": "14da5c4c72e867d3143078d6b2a4552ea0f69ddc3dc56046cf971e02b5b38811", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6464, + "data_offset": 3465728, + "gid": 0, + "header_offset": 3465216, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h", + "sha256": "c2a70ac4254fb197cb9c67a8167accc6dff3c46f5e324545e325acfc78b446c7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 942, + "data_offset": 3472896, + "gid": 0, + "header_offset": 3472384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h", + "sha256": "1d32456e30d45648cc7c673b5b7164a41e6119336f1f2cd31bc99bf9b9be445a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3073, + "data_offset": 3474432, + "gid": 0, + "header_offset": 3473920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h", + "sha256": "9ccf4af910f55ed3437a891768f184b8b71f13ebf343de0d79c9feb7f073f409", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1894, + "data_offset": 3478528, + "gid": 0, + "header_offset": 3478016, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def", + "sha256": "0088739f71d5b35269c58a6bc6ada86054fb572f241fa349913d36596bb4310b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15775, + "data_offset": 3481088, + "gid": 0, + "header_offset": 3480576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h", + "sha256": "10ee424e78fa32a593879e9aee7cb6f6f40b00ef35d4bd10e7d880e0af7ec0d4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1418, + "data_offset": 3497472, + "gid": 0, + "header_offset": 3496960, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h", + "sha256": "5f157e267c71b120a95972b98cc484e9b7615ce3f8db491760c1d5a8ae735ce8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1497, + "data_offset": 3499520, + "gid": 0, + "header_offset": 3499008, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h", + "sha256": "bce4f75524046f39ccf160d8015b611f8e2a415814cbfe775c3abe6a66c1daa3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1256, + "data_offset": 3501568, + "gid": 0, + "header_offset": 3501056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h", + "sha256": "4115d7893cb95f4120f9ed831b1dd0388310ac85daeac5d23afaf91e2a8606a1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17392, + "data_offset": 3503616, + "gid": 0, + "header_offset": 3503104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h", + "sha256": "1018ca478ee084f9e62d3511e50ad23468fcfa97caedd07906f14da34a54235a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 47491, + "data_offset": 3521536, + "gid": 0, + "header_offset": 3521024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h", + "sha256": "42d108de1fa4567927e5723d516199b34fc863c06b219f8f7cf29361611eb392", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6973, + "data_offset": 3569664, + "gid": 0, + "header_offset": 3569152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h", + "sha256": "83d8a07bd756470d5dbdb9d25e3d3d2740752062d48ca0178b58212216f44ece", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3933, + "data_offset": 3577344, + "gid": 0, + "header_offset": 3576832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h", + "sha256": "c6d76d4363a59a8ad548d6617493eedf9c8602a80d5fa74607efe46f81fef84e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11339, + "data_offset": 3581952, + "gid": 0, + "header_offset": 3581440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h", + "sha256": "82f0910f755cf53737df25fb67a19575be886b82b8d689ccca100bb17419473e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1571, + "data_offset": 3594240, + "gid": 0, + "header_offset": 3593728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h", + "sha256": "fa88c5499e9b77f8661f20508ea78d9b818079251bc0e2744d40b1434f0b8542", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1503, + "data_offset": 3596800, + "gid": 0, + "header_offset": 3596288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h", + "sha256": "8c4d9b5570c51f4e801e26b0c293e11d3732fe37879a06b0ce4c6b4a98a07532", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5158, + "data_offset": 3598848, + "gid": 0, + "header_offset": 3598336, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h", + "sha256": "a4ec8bb41e137b5bb5d8ff884d791b4f5dce3b28b724591bc1784bf5ed65264d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10870, + "data_offset": 3604992, + "gid": 0, + "header_offset": 3604480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h", + "sha256": "b7eae6b1d5defa242a37fd7408b5fdde55fbeea2ee0aec8d9759540c936ca2c0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10423, + "data_offset": 3616768, + "gid": 0, + "header_offset": 3616256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h", + "sha256": "a961105f9d8903b0d79afde450c2a47f69b6eac9b97aebf77d13cd1c2d9400a6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 981, + "data_offset": 3628032, + "gid": 0, + "header_offset": 3627520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h", + "sha256": "69f3378a5afdc45a998194f4c708a567c789b2ce0c4fbe492c1bc40bbeabebd3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8983, + "data_offset": 3629568, + "gid": 0, + "header_offset": 3629056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h", + "sha256": "22962af6a3de149826a8e197ae153d7fffdf50f79dbd0845a794545f25286520", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4972, + "data_offset": 3639296, + "gid": 0, + "header_offset": 3638784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h", + "sha256": "49461de35bd6bb6448d29aad95b9388d1a036374727943cbebedd341b8e644ef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2530, + "data_offset": 3644928, + "gid": 0, + "header_offset": 3644416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h", + "sha256": "dbb82424051d2ab36ad938d31704898b92c0f8999c4aa5e3756c15380133458e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1662, + "data_offset": 3648000, + "gid": 0, + "header_offset": 3647488, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h", + "sha256": "0b5ae839465cfb6be8bb75a1a5c64cd41a0be40bc63c9f38fbae7a8f1afd1523", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4147, + "data_offset": 3650560, + "gid": 0, + "header_offset": 3650048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h", + "sha256": "2b2bb0081f8b72505e3ff1d2e25b6dab3c14a81755d82dc3a32fe7f4ffdb18b1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2144, + "data_offset": 3655680, + "gid": 0, + "header_offset": 3655168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h", + "sha256": "f70a149742d8b6d87cef7e2912fc3ccda35521d5ab9b47c566546cf322c9d261", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6307, + "data_offset": 3658752, + "gid": 0, + "header_offset": 3658240, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h", + "sha256": "0990e92eb8d346fd08962c6c27bbe9e56bf05399fd36ac790e556a67c911bdc5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8692, + "data_offset": 3665920, + "gid": 0, + "header_offset": 3665408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h", + "sha256": "adba924418190f95c63dd1c7a59922fcc18b6bd9d45faaf2ccd12b3191d8a706", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3073, + "data_offset": 3675136, + "gid": 0, + "header_offset": 3674624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h", + "sha256": "73ccc7ad72242c1dade2d85c33e803942cbb50a9e59518bda6023da2392f47ea", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2035, + "data_offset": 3679232, + "gid": 0, + "header_offset": 3678720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h", + "sha256": "9103654748691af3206f7dc00995e9c6c68b3c0cfe9a6294eaf760dfb888adb2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4384, + "data_offset": 3681792, + "gid": 0, + "header_offset": 3681280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h", + "sha256": "0f5bb2bab19be8fbabe84bbd037c39924f78015b9d2b6cf103045e1a86fa2cdb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2383, + "data_offset": 3686912, + "gid": 0, + "header_offset": 3686400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h", + "sha256": "8dd32ec528b1548e6f8e9e85f2412c808ee1c1a9b19942dbce67da7b6d3866f4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3886, + "data_offset": 3689984, + "gid": 0, + "header_offset": 3689472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h", + "sha256": "6e1ec1d0c60117eae8e0b011a85e7dc86f084751362e814decc8c4da1a90dd50", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1934, + "data_offset": 3694592, + "gid": 0, + "header_offset": 3694080, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h", + "sha256": "8930c781c5a7bac209dcd489c3466c59671a98e1ccaa7d3b3a3d2a536407ff68", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1144, + "data_offset": 3697152, + "gid": 0, + "header_offset": 3696640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h", + "sha256": "445c7b6af465bd66f70e984a75edbf9b3d12f78a6a402a3b7c0da62af142fe1d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5477, + "data_offset": 3699200, + "gid": 0, + "header_offset": 3698688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h", + "sha256": "10f6662fd0ac0a31be74d407313e06d9276bd5b298d9be0a762e756eab629045", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1163, + "data_offset": 3705344, + "gid": 0, + "header_offset": 3704832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h", + "sha256": "699116c82b3d4d27f237e7f7e6bb44d7ae82c64654b2b70d89dfc35a29f84738", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4260, + "data_offset": 3707392, + "gid": 0, + "header_offset": 3706880, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h", + "sha256": "fe58ab5c8b95a6c3975b35a075f00e3704f8519968a388c2989b30c0c62e6691", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16974, + "data_offset": 3712512, + "gid": 0, + "header_offset": 3712000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def", + "sha256": "ec4c9c88546fa7cb5130de64224baea8f2f2481206a35825ff5f0725f7be611a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 161475, + "data_offset": 3730432, + "gid": 0, + "header_offset": 3729920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h", + "sha256": "3da4923eb7137e70e89af8e31b0164f5ac9ef3979b32b158fcc68787a091ff2d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1550, + "data_offset": 3892736, + "gid": 0, + "header_offset": 3892224, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h", + "sha256": "13ca97e62e1046c0ee94573bc528f690f21d2c95508e2a4b52a4fd586a1bb448", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3596, + "data_offset": 3895296, + "gid": 0, + "header_offset": 3894784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h", + "sha256": "6dc1920d67c95c1b72f3e530d8a3ebe926952e03c4248dd35d6c8492496ad543", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4718, + "data_offset": 3899904, + "gid": 0, + "header_offset": 3899392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h", + "sha256": "15cc72ece04746fe84d86ca21b4fa473d3d8e9a63e6a187901c047e1d0d4e918", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15067, + "data_offset": 3905536, + "gid": 0, + "header_offset": 3905024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h", + "sha256": "f49c5847a59f70bb7dcf6ce883fad82f88827da128412dc375e72e599a82d9cd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 951, + "data_offset": 3921408, + "gid": 0, + "header_offset": 3920896, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h", + "sha256": "1e7878693178734e3f7692e7da5f40ebd4439d7118a0451f9df0a432939f915b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2293, + "data_offset": 3922944, + "gid": 0, + "header_offset": 3922432, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h", + "sha256": "de279206c8ea8dc4a8078b32f0a38853ac6c03687e3dfddec70056bf66eb09a5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 12497, + "data_offset": 3926016, + "gid": 0, + "header_offset": 3925504, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h", + "sha256": "ccbae957b442f88d088d56aec8f8045b4057653c363115621c46a408658bae23", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1531, + "data_offset": 3939328, + "gid": 0, + "header_offset": 3938816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h", + "sha256": "3a42edc31d2b1c4ac08ba1b3dca541ca909a964efa7646f7010e2ba21a3e30cd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2409, + "data_offset": 3941376, + "gid": 0, + "header_offset": 3940864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def", + "sha256": "1651b558793d700fe1a0c4ac2b9cac5c95ef2e4520f42df76938d6848a3b6add", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1783, + "data_offset": 3944448, + "gid": 0, + "header_offset": 3943936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h", + "sha256": "1d2e65fdd1565fc90923304bdadeeb00384d7d617f28a23d7a76537a52e80893", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 330, + "data_offset": 3947008, + "gid": 0, + "header_offset": 3946496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h", + "sha256": "22dd0ab81baadd5a8d455b445855f341d419c7b0267beca235de00b7ec78e529", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10158, + "data_offset": 3948032, + "gid": 0, + "header_offset": 3947520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def", + "sha256": "b8fe0ca2bae450a6cc5fab57ede4cfb1a59c98cc8451837a9e763d168d5f52df", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 176886, + "data_offset": 3958784, + "gid": 0, + "header_offset": 3958272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h", + "sha256": "02870fb8fd90e7115d52b7893ac70db6fdb19e0189f53235b2e65066c7203855", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16063, + "data_offset": 4136448, + "gid": 0, + "header_offset": 4135936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h", + "sha256": "1531add71cd94bfd441313905a0e233cb3774e10491d634830b3be5d58271dfb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5627, + "data_offset": 4153344, + "gid": 0, + "header_offset": 4152832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h", + "sha256": "0e258c1fca60d02537913288f68f8234ed300e36c824d0515ebe3704436dffc2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10909, + "data_offset": 4159488, + "gid": 0, + "header_offset": 4158976, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h", + "sha256": "e5cf42c2ad4515dc2a88fe984ec0281632689bcca2736f50dd2fdfeca546c948", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5741, + "data_offset": 4171264, + "gid": 0, + "header_offset": 4170752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h", + "sha256": "876bf0e7c31a5378efc30e07fabbd55a94245bbf44ebf2f7784659e42d59a9a2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 39688, + "data_offset": 4177920, + "gid": 0, + "header_offset": 4177408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h", + "sha256": "7115642e9761d2cd36f131d486a437a110b93158fb0899308b49793615b1b5b9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11226, + "data_offset": 4218368, + "gid": 0, + "header_offset": 4217856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h", + "sha256": "81c44e0537bfc87a0b9adcc52051236015f28b222fcaafb54f8815c9561b2479", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7402, + "data_offset": 4230144, + "gid": 0, + "header_offset": 4229632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h", + "sha256": "a72e81a2c7322ca4fc9ba821c1cb38ae7c034cb402181e90d91841cd58b1f98e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1121, + "data_offset": 4238336, + "gid": 0, + "header_offset": 4237824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h", + "sha256": "b81549f3331b5335b3129ac2091691aa658b5cf651ba1ba0082906af22997f54", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6259, + "data_offset": 4240384, + "gid": 0, + "header_offset": 4239872, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h", + "sha256": "1e7d3063c34061812fbdd950e90d858e0bc1cd5f67db144a75c3246aa7cf31bd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1808, + "data_offset": 4247552, + "gid": 0, + "header_offset": 4247040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h", + "sha256": "0003121f60d6cb02ed21c08709c10889e5df6891bdd8251290f0084e81bf2b4b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1943, + "data_offset": 4250112, + "gid": 0, + "header_offset": 4249600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h", + "sha256": "61e4c9ea3990396756584ee9bc40ab081fa6204a48eeaa345c072f58a50a25ad", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5584, + "data_offset": 4252672, + "gid": 0, + "header_offset": 4252160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h", + "sha256": "88a0e0f498a55f586df2845736b75e63b07802f169bcf8b1edf4fc95f8bedcc0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10745, + "data_offset": 4258816, + "gid": 0, + "header_offset": 4258304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h", + "sha256": "7a50e1ced617289ebe97acbaf61925b7de235e50d4b73d8575da288dd064a127", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4271, + "data_offset": 4270080, + "gid": 0, + "header_offset": 4269568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h", + "sha256": "b09b75199f3721bd9538812d29ce8da67c95c992da9295b4c865d70b470aff7d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5203, + "data_offset": 4275200, + "gid": 0, + "header_offset": 4274688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h", + "sha256": "5b78e81a7226a9cbc6c664b2928c68ccb155132d4e764daaca2eb28590137856", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1696, + "data_offset": 4281344, + "gid": 0, + "header_offset": 4280832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h", + "sha256": "747174cc153c2c9851a6acfa50586fa632db3696650b118a00fed85bac643b79", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9147, + "data_offset": 4283904, + "gid": 0, + "header_offset": 4283392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h", + "sha256": "ab7c203f21122c26260141dffe2e3e3fc30c9ad6458b5c2be26029d4cf34280d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1881, + "data_offset": 4293632, + "gid": 0, + "header_offset": 4293120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h", + "sha256": "62a42864b5d1de2f6ba657663688b67018349a6ef133fe4f9feb312edbd4674f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5586, + "data_offset": 4296192, + "gid": 0, + "header_offset": 4295680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h", + "sha256": "bcb77597a67ac6b68b24dbdae7dca900f611ad0a8a3a56ecf8af45378d890ca6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11715, + "data_offset": 4302336, + "gid": 0, + "header_offset": 4301824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h", + "sha256": "4baa3750012a67f0bb4600d7faea1a52c3c104779aaa8c64095f2d0581757902", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 310455, + "data_offset": 4314624, + "gid": 0, + "header_offset": 4314112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h", + "sha256": "83e0c3cbab2ce449e98b300a78667666b4f8a7cfe4d4b4cdfdd8af8019393774", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 526, + "data_offset": 4625920, + "gid": 0, + "header_offset": 4625408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h", + "sha256": "61f4af46470a090d3879482225cf5b44d7e63e6a62a2556c588758311a7b55d1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11204, + "data_offset": 4627456, + "gid": 0, + "header_offset": 4626944, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h", + "sha256": "319b6341188b6ea532fc90a5a6ce26a0c87e35a2f4c7887f8db3a54f9d8f8ca3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1347390, + "data_offset": 4639232, + "gid": 0, + "header_offset": 4638720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h", + "sha256": "0e21173edfdcf406b300992e8bab9ef65ca3a98f42501d24efeffd057eedb218", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 24711, + "data_offset": 5987328, + "gid": 0, + "header_offset": 5986816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h", + "sha256": "206116a4fb7aedd76f936dfd3f23c5ba9a9c4cda1c787338dffcdc6feea6a78d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 28560, + "data_offset": 6012928, + "gid": 0, + "header_offset": 6012416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h", + "sha256": "bc522aae00c541e890a64bec011e0df5c0952f76058e4418fde210051b4f9a16", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3617, + "data_offset": 6042112, + "gid": 0, + "header_offset": 6041600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def", + "sha256": "a3c40aa47c1a61414ee539c2729d60cf027c7a654a576d6bfa9a4038d4cb8be5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2706, + "data_offset": 6046720, + "gid": 0, + "header_offset": 6046208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h", + "sha256": "8793b9ae709fa4abfa4b47b42f7d44e5b8a0c81babb947316f340e26c34bd955", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22125, + "data_offset": 6050304, + "gid": 0, + "header_offset": 6049792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def", + "sha256": "b5bdb9d9d2d0c0836398ce22772e364881ef4999da68d6824a3c08bbebfb864a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8988, + "data_offset": 6073344, + "gid": 0, + "header_offset": 6072832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h", + "sha256": "6e5d20a5735c158d71a3fea72e303455ce5a1ddb1964a1283084331645a923e2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2009, + "data_offset": 6083072, + "gid": 0, + "header_offset": 6082560, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h", + "sha256": "4a313883acbe8bf6a6502e0f4a56863ab5916e8defe4828e98f5251af2536744", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15911, + "data_offset": 6085632, + "gid": 0, + "header_offset": 6085120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h", + "sha256": "de4a896a9634f74046d2869acd9bd1cb53ee4f7f2ab55fe1ced41460f03417f1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 11544, + "data_offset": 6102528, + "gid": 0, + "header_offset": 6102016, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h", + "sha256": "496e275a5cece9993a70e8bd4a02344ed0e3ac7c50d1b81d9d1adc7d4094db2c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 21309, + "data_offset": 6114816, + "gid": 0, + "header_offset": 6114304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h", + "sha256": "9e7a92faa7ba1f266da868b0054480f19dd8d5291c479b4ba7132e9a35c27cb5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4289, + "data_offset": 6136832, + "gid": 0, + "header_offset": 6136320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h", + "sha256": "1e955d3f468551b8ad6ff25bba478f81e71ba94e61db38fb585772b5d2f935cb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22363, + "data_offset": 6141952, + "gid": 0, + "header_offset": 6141440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h", + "sha256": "fe51a1249a2d02f88c09e4d39f5b86bc4b93134c6afc94923fdee8c364fcbc69", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5027, + "data_offset": 6164992, + "gid": 0, + "header_offset": 6164480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h", + "sha256": "22c65da14709b9b84e8086769f3897e4f48f05b59e975a3d241a495c09dc1d47", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18540, + "data_offset": 6170624, + "gid": 0, + "header_offset": 6170112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h", + "sha256": "f3201c2d0c05d9f7a8ff5bf24b45c7900d74f826c73e8f1462abf2489e97e561", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8891, + "data_offset": 6190080, + "gid": 0, + "header_offset": 6189568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h", + "sha256": "6b22f107252d8a4e3b93663584c2a43293e30630960369e6f3308c664c7ca4ae", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 41250, + "data_offset": 6199808, + "gid": 0, + "header_offset": 6199296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h", + "sha256": "c6ac7cb1c6c2b9b41e6351d823c97cd36ed192055f2bec5d5cf732816d6d00dc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3529, + "data_offset": 6241792, + "gid": 0, + "header_offset": 6241280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h", + "sha256": "399109d1b5ba4d7aba587233d2235c508453294b503640636bf5f65c4bec4fb5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1099, + "data_offset": 6245888, + "gid": 0, + "header_offset": 6245376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h", + "sha256": "43c907a42844c6b38799eae901b6046c4676dc27de8ebd5a5318a954f2520d4a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9725, + "data_offset": 6247936, + "gid": 0, + "header_offset": 6247424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h", + "sha256": "5329e4984b4519090d52923ceca6c115f03b57327b2bda231c555f1b2b6dbde4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 62259, + "data_offset": 6258176, + "gid": 0, + "header_offset": 6257664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h", + "sha256": "aec4d79bbac7c207b388b045b7b0d55947f13a9d5138a5ef57c8a36031248e02", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9893, + "data_offset": 6321152, + "gid": 0, + "header_offset": 6320640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h", + "sha256": "d732461cda17464dbf997c189a28eb5c1ee94a8171be0ca2d7c68e5f148e4810", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7700, + "data_offset": 6331904, + "gid": 0, + "header_offset": 6331392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h", + "sha256": "a7be36431cebf05709bd2a25f47381bc2786125bfc92f933edc28aab6761f8ca", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5894, + "data_offset": 6340608, + "gid": 0, + "header_offset": 6340096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h", + "sha256": "f22917e2b2d4ee3b5d012e3fb9237f262ab7d7cc09f5b68f6abef02cb600afca", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4705, + "data_offset": 6347264, + "gid": 0, + "header_offset": 6346752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h", + "sha256": "9ccf0c42d9ddb74401cac7be0c8bd17c3183be25d7b2af89069a98b8978272cf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16998, + "data_offset": 6352896, + "gid": 0, + "header_offset": 6352384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h", + "sha256": "95f149ef20e682d4877d5f2ebb2c9886b68750f8cf586b4a982e32566e67f488", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27732, + "data_offset": 6370816, + "gid": 0, + "header_offset": 6370304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h", + "sha256": "5cef50bf7cd776d0bb62db9722163b98f4372e8ab256ceab28a6eabd0161f572", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1327, + "data_offset": 6399488, + "gid": 0, + "header_offset": 6398976, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h", + "sha256": "0bda2ffffab92ff1e08ad9d5d820a27f9379ee6782d2d27dcb753a5d6aea38db", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2586, + "data_offset": 6401536, + "gid": 0, + "header_offset": 6401024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h", + "sha256": "4ede906245548b77c8039974408ad67b33f437b8d37863cdc8511ad21f053ea4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27873, + "data_offset": 6405120, + "gid": 0, + "header_offset": 6404608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h", + "sha256": "30bb26b74878d324cd3a495ae6913f9dc682fb8519c2acd55520e31f8456a6c1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1411, + "data_offset": 6433792, + "gid": 0, + "header_offset": 6433280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h", + "sha256": "3b38742bd304c485bb6ab53cacea9432e28205ac7a002a86330f0ae2380f2b3d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 270, + "data_offset": 6435840, + "gid": 0, + "header_offset": 6435328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h", + "sha256": "281813879fe05668e6a3cc520ef294c7fd3f01f75dd67cb5e363c3ffdf37cb1b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 73241, + "data_offset": 6436864, + "gid": 0, + "header_offset": 6436352, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h", + "sha256": "415f38816ece1ca843803ef3af96be9d9029e83fe9e76b53f0c33f74eeaee778", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2486, + "data_offset": 6511104, + "gid": 0, + "header_offset": 6510592, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h", + "sha256": "62fd366fc45f278a0957b5b9c456bf9967bf0dddb1903a9539df9f677abba3b2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 893, + "data_offset": 6514176, + "gid": 0, + "header_offset": 6513664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h", + "sha256": "013de58934fbc12448fd9c684dd5c920be658c527ec61c4d5bff848d911373af", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2081, + "data_offset": 6515712, + "gid": 0, + "header_offset": 6515200, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h", + "sha256": "a17e1d7b54de7bbd12917d92e645bebf03466c4dff43a4fb3314b955f08d93d1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18811, + "data_offset": 6518784, + "gid": 0, + "header_offset": 6518272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h", + "sha256": "3e1e99bc6bab69cb9d3c81f4e84f13d15aec66a39597b1272f46e8e5d994982f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1337, + "data_offset": 6538240, + "gid": 0, + "header_offset": 6537728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h", + "sha256": "a0dac0179283d66fecc9eef1245bfe9e220cadd855bb78238fb17938223a01d3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1599, + "data_offset": 6540288, + "gid": 0, + "header_offset": 6539776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h", + "sha256": "d0e82fdd93133a4165a7355e79d815cd0cd4e2d954f59d8141b9b9d1ba5d38c8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1595, + "data_offset": 6542848, + "gid": 0, + "header_offset": 6542336, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h", + "sha256": "1c91506b7ee8fa420ef0852e90dc824e28dc367274d05fce88f188b9644a3473", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 38386, + "data_offset": 6545408, + "gid": 0, + "header_offset": 6544896, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h", + "sha256": "8af2370c5da76c5a10a5f81dc7276d577d15d4427a45a4fc945056200f971ecd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 6584320, + "gid": 0, + "header_offset": 6583808, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 975, + "data_offset": 6584832, + "gid": 0, + "header_offset": 6584320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def", + "sha256": "ee4847ee69fc0acd5f2c89176d2d523ada86876bf6ef97c37f05becf56c0a049", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10847, + "data_offset": 6586368, + "gid": 0, + "header_offset": 6585856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def", + "sha256": "de584372b4942dd19796032f087b652ebe3425f4fdfa71ce16245a17c1f47506", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 35856, + "data_offset": 6598144, + "gid": 0, + "header_offset": 6597632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h", + "sha256": "4444cb35bf21f0fad623af174c34d3a23a1f7a239206148ada43f4ea422ab3ee", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1529, + "data_offset": 6635008, + "gid": 0, + "header_offset": 6634496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h", + "sha256": "ec51d87d64f36a9d717d4a9b12810d43d60c16ca5527cda00de934f58bea6ffd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5409, + "data_offset": 6637056, + "gid": 0, + "header_offset": 6636544, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h", + "sha256": "7e63418a7fcab4637c5fb29fe554149c0252ed43fcd70a9434af8d8157aff5d6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1280, + "data_offset": 6643200, + "gid": 0, + "header_offset": 6642688, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h", + "sha256": "afa4dc890a08081d268b4b7512fbcbe46572dc71d6a026b465a8f6e2d9714451", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18132, + "data_offset": 6645248, + "gid": 0, + "header_offset": 6644736, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h", + "sha256": "95cc899b612bf1d4aceeb45663b2bbc34b8711d38c215b53ef2693fd73ddcc91", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3401, + "data_offset": 6664192, + "gid": 0, + "header_offset": 6663680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h", + "sha256": "4c56869646d5db67ce1887862d23c13ac2453879ff8da57c67f5c4ad6594ff69", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2500, + "data_offset": 6668288, + "gid": 0, + "header_offset": 6667776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h", + "sha256": "76be7522462077eba796115512b13778ebbff5be23babf8ca6cf19805d435014", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2034, + "data_offset": 6671360, + "gid": 0, + "header_offset": 6670848, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def", + "sha256": "51d097959c833480f573c1253da61cbf79495424ff3640c577837ee5e7fe5cbd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7617, + "data_offset": 6673920, + "gid": 0, + "header_offset": 6673408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h", + "sha256": "639957ca653d1b4a8caccabe94166b6e80dcc150dc7fef7120b03781d3e86338", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 6682112, + "gid": 0, + "header_offset": 6681600, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 3378, + "data_offset": 6682624, + "gid": 0, + "header_offset": 6682112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def", + "sha256": "c2b3a32369d99cc8260b985d647c5a4e506f0e1f95296062c8993ac33070799c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2480, + "data_offset": 6686720, + "gid": 0, + "header_offset": 6686208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h", + "sha256": "3337eebd882f83dd0d81305cd886c20403267f9030966fe91e021eb793b71c85", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22405, + "data_offset": 6689792, + "gid": 0, + "header_offset": 6689280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h", + "sha256": "d7b88aea7f6a9579f716a775fba2acbd119315e0975431c7644ec842495271d0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22884, + "data_offset": 6712832, + "gid": 0, + "header_offset": 6712320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def", + "sha256": "0ea9f9414e42aa2ebfca27d2a853594f13d30b63259303d77207e30d07ba67c6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1165, + "data_offset": 6736384, + "gid": 0, + "header_offset": 6735872, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h", + "sha256": "865d458725ff3ac68fe6e34ac2d9d4a9df93cf0913469d9726f426a0fc9c25cc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5983, + "data_offset": 6738432, + "gid": 0, + "header_offset": 6737920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h", + "sha256": "7adf96139b70216876dc610b87a81c950f197811ba7e1249031dad9f0d1c00b5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1095, + "data_offset": 6745088, + "gid": 0, + "header_offset": 6744576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h", + "sha256": "db8f807abd15f86cbb42242e65b1e9a3447074aab6c98424b0a7ebf2dab8b80f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1214, + "data_offset": 6747136, + "gid": 0, + "header_offset": 6746624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h", + "sha256": "244d40fb972c66f1accc14712cf0ee6575209e113431fc897af09b6ec59295b3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 880, + "data_offset": 6749184, + "gid": 0, + "header_offset": 6748672, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h", + "sha256": "74456a1c9e0f39545ffa3f6eb8b3c8cfebfe7a4ab954453c6a912f4e42fa1ca3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9423, + "data_offset": 6750720, + "gid": 0, + "header_offset": 6750208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h", + "sha256": "3a2ab8a4cdeba7790e0f246c37580c904dbf459e4d26a5775f82220ecefafc35", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2540, + "data_offset": 6760960, + "gid": 0, + "header_offset": 6760448, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h", + "sha256": "50fb15e8b6fb8980f80cffb19667e63740c0a0a4be47bb5e5e5ab59351a2362f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3469, + "data_offset": 6764032, + "gid": 0, + "header_offset": 6763520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h", + "sha256": "29ed316ac1c28a4b1df96943e194d1d63ecfe761e9f6124a418b227cd84eb87e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7104, + "data_offset": 6768128, + "gid": 0, + "header_offset": 6767616, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h", + "sha256": "5ed43d77e9d7d2080d5d02a78260d759c5b14028431b28055e3d4564d5aecea1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1867, + "data_offset": 6775808, + "gid": 0, + "header_offset": 6775296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h", + "sha256": "10de46939ebad137748008605be8afb05dbceb4eb7e7c09d7ffe11f11c15897f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22768, + "data_offset": 6778368, + "gid": 0, + "header_offset": 6777856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def", + "sha256": "423d37d7db5f9ae5be74b83d2d55a4acbbbaeaf56b293d68375f7a8f7d2f24dd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 14408, + "data_offset": 6801920, + "gid": 0, + "header_offset": 6801408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h", + "sha256": "904dbf30e1cb2dae59e3ebca387fc9f4a278b1a5b468fa82c97d4a35e4e618cf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2047, + "data_offset": 6817280, + "gid": 0, + "header_offset": 6816768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h", + "sha256": "b8d4716945ae169e7be105dfe9b29417a907a308dbf2ccf629a6d8bbb7a31ef4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5152, + "data_offset": 6819840, + "gid": 0, + "header_offset": 6819328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h", + "sha256": "8884b6514baf87d199fe0c54da077e7209cc760022a83984c3f26d6a18ec4102", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 504497, + "data_offset": 6825984, + "gid": 0, + "header_offset": 6825472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h", + "sha256": "514c24a8b385a9996ced6c77468000a2d654150502166bbab16425ae2b7061b3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1032, + "data_offset": 7331328, + "gid": 0, + "header_offset": 7330816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h", + "sha256": "b941dcb347c09c55364350b23ba666aa11d3665920a5d8d6778c4edf3454d983", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1787, + "data_offset": 7333376, + "gid": 0, + "header_offset": 7332864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h", + "sha256": "cf69cae8fdfc06b026c6c9e6f73b6569012e368d595522dda263490c7323f0cd", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20111, + "data_offset": 7335936, + "gid": 0, + "header_offset": 7335424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h", + "sha256": "679ae81edf5eb0f284eb8426d2d742b795d94c718d08fa0c6be0b000fed8f99b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5035, + "data_offset": 7356928, + "gid": 0, + "header_offset": 7356416, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h", + "sha256": "a19e5a6c8b0995d955972ac1e8e36f8e3e596def77e1071a66c5513110d8c984", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 25158, + "data_offset": 7362560, + "gid": 0, + "header_offset": 7362048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h", + "sha256": "0b1f52111356fa8ff77fd3cc829c2a14400a6322db3743f8293f6cba3ced544c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 24846, + "data_offset": 7388672, + "gid": 0, + "header_offset": 7388160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def", + "sha256": "a0e160ffd36c3ad1643ac4b29dffb0cbda42eb411cf8b29618df9917e586c5f4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4112, + "data_offset": 7414272, + "gid": 0, + "header_offset": 7413760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h", + "sha256": "14517703ae93aca191844dd07649820424e8c9f84cb17bab6a7058bdd91b9766", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 22106, + "data_offset": 7419392, + "gid": 0, + "header_offset": 7418880, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def", + "sha256": "f0a89caaaec0c4e234e4840f5958cc59ed9189f18bf62309ea78bb68befd4fe6", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18343, + "data_offset": 7442432, + "gid": 0, + "header_offset": 7441920, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h", + "sha256": "ab883946bdbc9a8143b32bf970b3be836e070c62223974b25bffae4e747836ae", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 595, + "data_offset": 7461376, + "gid": 0, + "header_offset": 7460864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h", + "sha256": "240c05ad22d5f396015efdc5d0381c554ea79d62c8ece0402909501e59a5f1d4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3419, + "data_offset": 7462912, + "gid": 0, + "header_offset": 7462400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def", + "sha256": "6e5670c5c93a21ee20ddb1d96974c782cb51b988fe4bd66a8aed42768b88f54e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6593, + "data_offset": 7467008, + "gid": 0, + "header_offset": 7466496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h", + "sha256": "bf17c85ab563f8cc6808993e83dd6ef727b282b8b4ede9749d635d23feb7753b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9703, + "data_offset": 7474176, + "gid": 0, + "header_offset": 7473664, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h", + "sha256": "d68d16e80c901ae7f30d93772645252e184268e91f38d8e6f461f1bdd22ef2b0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4328, + "data_offset": 7484416, + "gid": 0, + "header_offset": 7483904, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h", + "sha256": "e2a969980945c688e2851b91a34bfd6658ee0aa5684a6e7cab5bd81bc2ab5d6a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 81531, + "data_offset": 7489536, + "gid": 0, + "header_offset": 7489024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h", + "sha256": "e66872fe193c40e9548de5effafec475f4d2d57ba0e69db2d2ee091c75a3caa3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10136, + "data_offset": 7571968, + "gid": 0, + "header_offset": 7571456, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def", + "sha256": "f78bdbe1e3493092e5bd7544a6ec94e57e8ca280b6487d037312d68adb71a537", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4752, + "data_offset": 7582720, + "gid": 0, + "header_offset": 7582208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h", + "sha256": "3a15c9bc658a8d773b9b741f9c52b5d08eb2461715478add8a0b7785a8a0c73a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1260, + "data_offset": 7588352, + "gid": 0, + "header_offset": 7587840, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h", + "sha256": "7a6f926a74485becf52e91b15cbdee5674b8470a4c5376179667e32c093430ab", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16071, + "data_offset": 7590400, + "gid": 0, + "header_offset": 7589888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h", + "sha256": "605c2d11126def8d4b358a661000989448a6e6777e7b04536243cac1bbe4ee03", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5643, + "data_offset": 7607296, + "gid": 0, + "header_offset": 7606784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h", + "sha256": "82d36d4eb489d6959e70dbaee1fb14b5d30a04a76840ded2df90572aa07d6885", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1944, + "data_offset": 7613952, + "gid": 0, + "header_offset": 7613440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h", + "sha256": "ad87f6e71674db1ea93d24fd13c5f4ba4a44c910c438389d1a3f3ed0f944efef", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 39197, + "data_offset": 7616512, + "gid": 0, + "header_offset": 7616000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h", + "sha256": "daacfd3111a8ae358573e4edd62d06a765824feaa61ee6e3bfd2fce6719c715a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2335, + "data_offset": 7656448, + "gid": 0, + "header_offset": 7655936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h", + "sha256": "00eeecf678a97ef2d8b27c21739580e2fb4b22758807b9351ba421338e5fc5c4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10757, + "data_offset": 7659520, + "gid": 0, + "header_offset": 7659008, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h", + "sha256": "97143b407697c7e1dd429675660e8e5c262e90331c0cf3509ce5e998e8ed2bc8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1690, + "data_offset": 7671296, + "gid": 0, + "header_offset": 7670784, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h", + "sha256": "ac66d273dd27ae1aa5672ba820129727c2b48110d7f780922a8d46ba26e12d02", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 13190, + "data_offset": 7673856, + "gid": 0, + "header_offset": 7673344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h", + "sha256": "b4d0bb94bf80c7cd2426e80d98b6063ceaf9fe77135e2323cde155d7ae4f20e7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1002, + "data_offset": 7687680, + "gid": 0, + "header_offset": 7687168, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h", + "sha256": "087dae9fb10d3d7fca65278b2fcd521477058b91c3242a385853e22897497b81", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 21374, + "data_offset": 7689216, + "gid": 0, + "header_offset": 7688704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h", + "sha256": "64bb28d4bd9cee160cb7a165827ac901f8fc5c0fb0c7d0976885a37ab065119f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1302, + "data_offset": 7711232, + "gid": 0, + "header_offset": 7710720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h", + "sha256": "d8f33b66341cd504dab1a29eebd8215a56e1769b57a4d62b6a9ad3ed1f7e5c0c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18160, + "data_offset": 7713280, + "gid": 0, + "header_offset": 7712768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h", + "sha256": "65f535deb2993fa5960cc5f39477b710b3d6ebe5ab2d6b4165bd8d61acce560b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10982, + "data_offset": 7732224, + "gid": 0, + "header_offset": 7731712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def", + "sha256": "71888a6aa0d904d1462f91a82810073231c8526d0f33a9a7a6d82cbb87cd7b3e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 877, + "data_offset": 7744000, + "gid": 0, + "header_offset": 7743488, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h", + "sha256": "b58d176b75700c415cfad8218d7a2b08ee8004bda1cc22ba50dac9bd4978a38b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3563, + "data_offset": 7745536, + "gid": 0, + "header_offset": 7745024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h", + "sha256": "1e36a6da41687305e5a97cb741594abb02b4d3fff577fcb8a62138c5822ebfaa", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 12634, + "data_offset": 7749632, + "gid": 0, + "header_offset": 7749120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h", + "sha256": "15d9102c0bf9155ba02c9a3806be502e9ac5f788a30c5e5f17dd873e7bf2bc5a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4824, + "data_offset": 7762944, + "gid": 0, + "header_offset": 7762432, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h", + "sha256": "2728d61c5e85efc5802bebd3310845d1e72f6554418810ae5edace22e49e0241", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17659, + "data_offset": 7768576, + "gid": 0, + "header_offset": 7768064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h", + "sha256": "3abb0b6d1e9c65d38b61b185c88c5ebf37e51beaf2bf8912c3bdae3d2e46050b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1981, + "data_offset": 7787008, + "gid": 0, + "header_offset": 7786496, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h", + "sha256": "5830422162a9e2bf8aae757776bf399fc10dbaa599504343f4effc3737605b81", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1050, + "data_offset": 7789568, + "gid": 0, + "header_offset": 7789056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h", + "sha256": "0398b05ae75bbaa2014dee32fe3b5614ba536c2a40e899985dc83c3db52feea8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8363, + "data_offset": 7791616, + "gid": 0, + "header_offset": 7791104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h", + "sha256": "4fa2852f3ea51e76acfbaca3d8297b94ad04d66cf4d2712a4475e17fba73a1d2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1991, + "data_offset": 7800832, + "gid": 0, + "header_offset": 7800320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h", + "sha256": "bea1a8cd10f40cc67634ead997999942231497ab46f2b5ae5bf07991c5efa230", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 61440, + "data_offset": 7803392, + "gid": 0, + "header_offset": 7802880, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def", + "sha256": "0a5f215a95ba9df29b8fc743f7e477e2a493e16d2c91b5d5ad349846497e0764", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 160104, + "data_offset": 7865344, + "gid": 0, + "header_offset": 7864832, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h", + "sha256": "141702d3ec4ef6829ad9f8082850a8d4cfb7483b7e1cbc500de4e34418bacb9c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10466, + "data_offset": 8026112, + "gid": 0, + "header_offset": 8025600, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h", + "sha256": "5f3a7b97630a0a51cc4a40175e162f0ff85b9cc1d547b140496bbf783efc7895", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 850, + "data_offset": 8037376, + "gid": 0, + "header_offset": 8036864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h", + "sha256": "28b8d35d5616c74c62fa31b5674318d7e0fba611f2bf06192fd636d0ea474b35", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1797, + "data_offset": 8038912, + "gid": 0, + "header_offset": 8038400, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h", + "sha256": "d5c4db6a98b8586c5f8dca8f225041caf4f3473ad95e54583866dae9f5a75a37", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3848, + "data_offset": 8041472, + "gid": 0, + "header_offset": 8040960, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h", + "sha256": "f5e36f8d27a594b77cb0530ba42ea335c9eceabdab7961675efd0d0c5304d539", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 884, + "data_offset": 8046080, + "gid": 0, + "header_offset": 8045568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h", + "sha256": "9582b29310769bfaabfe8c23c637c6d8e1376edd9ec9bcc176fb38b99848c206", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5642, + "data_offset": 8047616, + "gid": 0, + "header_offset": 8047104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h", + "sha256": "e7e2202f4b96bc269c5a885812b4a919c92e64e196d106b0a8db4a93572e7bd3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 33537, + "data_offset": 8054272, + "gid": 0, + "header_offset": 8053760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def", + "sha256": "e4069289ef31866fde4d1acdbd4a747e5d99586e058067b57b3343b0ea6f92ec", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10369, + "data_offset": 8088576, + "gid": 0, + "header_offset": 8088064, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h", + "sha256": "9958ea326e761f3ff9c9526c7223b076fc4b9cec7c9453f21083a320210eb2c5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 61641, + "data_offset": 8099840, + "gid": 0, + "header_offset": 8099328, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h", + "sha256": "dc1a6562fe614c64146430ed54600e933c30a5061cec75aea95e46083477743a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6940, + "data_offset": 8162304, + "gid": 0, + "header_offset": 8161792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h", + "sha256": "d6d217bd789ab925858267a761092651c2fe7a9b5fd530ed9009ffa627e86aad", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 48949, + "data_offset": 8169984, + "gid": 0, + "header_offset": 8169472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h", + "sha256": "b17053bd5d174df238c8bc41be386f371ed678dc170e4cfb90dc5ba4d87e9e3a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 920, + "data_offset": 8219648, + "gid": 0, + "header_offset": 8219136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h", + "sha256": "c1f7a7e88904e6b3f2f64b94bd77dd2a27e986153047d5896099163227df8282", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1493, + "data_offset": 8221184, + "gid": 0, + "header_offset": 8220672, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h", + "sha256": "3662ed457aa27813ef3f0802f4d48dc039213a453f434e757808e4f6a4f8e03a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3235, + "data_offset": 8223232, + "gid": 0, + "header_offset": 8222720, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h", + "sha256": "feda33ddda3dd145deed464204db202a5c8075fe9fdc30fcdbcae2bb71a69983", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15588, + "data_offset": 8227328, + "gid": 0, + "header_offset": 8226816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h", + "sha256": "d2cf01d8ef1465541dfbbf3bbd3fad1c32d2b35dc4d89d20f9095b54137d5719", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7500, + "data_offset": 8243712, + "gid": 0, + "header_offset": 8243200, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h", + "sha256": "bc5b78d700b487e41136fa6a422d603b033f853539c19cb03f4249b6e346c345", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6205, + "data_offset": 8251904, + "gid": 0, + "header_offset": 8251392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h", + "sha256": "2eaff39957c8b8c6195b2eeebf1601d74aa203959545d223001b436311eab295", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1165, + "data_offset": 8259072, + "gid": 0, + "header_offset": 8258560, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h", + "sha256": "4c02ba20251963758c89b10899393b28662d9463c09f23cdf1a26b63c9f6726e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1056, + "data_offset": 8261120, + "gid": 0, + "header_offset": 8260608, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h", + "sha256": "aee11f55692dd8b2bda2d8a04c45b7d40379c55258dda5db1f03c3515631f8a0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6812, + "data_offset": 8263168, + "gid": 0, + "header_offset": 8262656, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h", + "sha256": "c7eb94536c94fd08bcc4dc755716d6b4d975bd75f71f8186f3c0e510d449c5f2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1416, + "data_offset": 8270848, + "gid": 0, + "header_offset": 8270336, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h", + "sha256": "ff8432c6862f0d119017626789c451dea9388b6ea74eba4f53186beabd135094", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7360, + "data_offset": 8272896, + "gid": 0, + "header_offset": 8272384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h", + "sha256": "330f381fc436a17de505c30f977ef2a2ee4692e0b0dffdb4b752a37f14ebc4d0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16880, + "data_offset": 8281088, + "gid": 0, + "header_offset": 8280576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h", + "sha256": "a13bf0f6af9d93a621f33172d1b3219e0d650edd91ee16e876098bf305cb2d27", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6238, + "data_offset": 8298496, + "gid": 0, + "header_offset": 8297984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h", + "sha256": "687795657e77a2e1105c5b92cb43e3c1de4a4ee53adcabe25ceceebbac42bb1d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6565, + "data_offset": 8305664, + "gid": 0, + "header_offset": 8305152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h", + "sha256": "394ea5f83e88fdb19768e37b092e72117a9c1cb60e0af28042372d18fe702f47", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 29828, + "data_offset": 8312832, + "gid": 0, + "header_offset": 8312320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h", + "sha256": "13a470f159f7f31c4495af6fc4ac50d7d82d8e31555ced66ae4444ddb261df84", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1039, + "data_offset": 8343552, + "gid": 0, + "header_offset": 8343040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h", + "sha256": "2a1314704e22f2752d1cf83d62ead4d5eb416839b438c4cad9410e5483b2a72a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2846, + "data_offset": 8345600, + "gid": 0, + "header_offset": 8345088, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h", + "sha256": "66de3aed44d510172a51dcd99cb2445354d12fa5c09fde43eb4048e5e2f32897", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2034, + "data_offset": 8349184, + "gid": 0, + "header_offset": 8348672, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h", + "sha256": "234685ba8f567bf512c870e4cc462249937cb9c50c4845c8159009b827e2af03", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5099, + "data_offset": 8351744, + "gid": 0, + "header_offset": 8351232, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h", + "sha256": "7052fef7a6781651860182890449787cddc5731f2e8a8b34ec9d3dc576873e67", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3695, + "data_offset": 8357376, + "gid": 0, + "header_offset": 8356864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h", + "sha256": "16e3d55112b0e7911eba6dad328e1a25fe4c607e35b6c33349b742db6a8a0960", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1491, + "data_offset": 8361984, + "gid": 0, + "header_offset": 8361472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h", + "sha256": "9665167dd0003d60d4b72880ce61a477f1560c972d6097a2cdaa24e03d6cacd2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4744, + "data_offset": 8364032, + "gid": 0, + "header_offset": 8363520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h", + "sha256": "c8ea502e9cd745da74c655fcfad7df2fc43733bb808d3742b7125715cc41cdbf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27511, + "data_offset": 8369664, + "gid": 0, + "header_offset": 8369152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h", + "sha256": "04876299a21be45ce7543996f24d0c327114b657f59bf5736fa2fd48037724d2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2076, + "data_offset": 8397824, + "gid": 0, + "header_offset": 8397312, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h", + "sha256": "43d5903da1b24590ca92a4d3823de558f100d39ad9b7efc1ca11b28c82473eff", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5041, + "data_offset": 8400896, + "gid": 0, + "header_offset": 8400384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h", + "sha256": "367e3314b662a799a41d0403d2bb530aef3a8717e6e02908a6c51a89d1785a85", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3734, + "data_offset": 8406528, + "gid": 0, + "header_offset": 8406016, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h", + "sha256": "7223c38982d25c4f205f961f82c6a2aa95fadcae197b96a5f75d6d0eb635820c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 27679, + "data_offset": 8411136, + "gid": 0, + "header_offset": 8410624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def", + "sha256": "0968daba86d57430f56d28c37c797431ff3dc3efb11142562d9fa08d68dd86f0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 42057, + "data_offset": 8439808, + "gid": 0, + "header_offset": 8439296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h", + "sha256": "18acfc4265c88125ae0a190e31c2e865a7726c9fdcc057990e7bfeaa6e62c56c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4265, + "data_offset": 8482816, + "gid": 0, + "header_offset": 8482304, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h", + "sha256": "42926ae26ac08524751c635312c73d9e6fd6e95d05a61656ebc6bd0663a4fbf1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3413, + "data_offset": 8487936, + "gid": 0, + "header_offset": 8487424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h", + "sha256": "91615ca3c302e3d40c9eba9df5829ef15e0f6346c7ef57d85ed1a6179d181860", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4060, + "data_offset": 8492032, + "gid": 0, + "header_offset": 8491520, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h", + "sha256": "614946cc27b8d6b45efdebd6b8b92bba70b65161ad0e963f64891c106bd1ab62", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5385, + "data_offset": 8496640, + "gid": 0, + "header_offset": 8496128, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def", + "sha256": "86f6e27cf0de4f2b3b85faed07421312087dbf34ab1da0dfe0adc3aa0387ed1d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 324195, + "data_offset": 8502784, + "gid": 0, + "header_offset": 8502272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def", + "sha256": "4b09a0f3c94866ecfdaedcdf645e2e469a787b145dfc4bd3139e91a3cc5d4b7b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9322, + "data_offset": 8827904, + "gid": 0, + "header_offset": 8827392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h", + "sha256": "196b78a30e006a4e6a4aa213a5b9f60dac0939ad7f7f60ce6418374488efca6c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 14065, + "data_offset": 8838144, + "gid": 0, + "header_offset": 8837632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h", + "sha256": "63f067f4e08cbe1c4163e72263ab11db4f40904456a14f19a7ebac777db5154a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 18489, + "data_offset": 8852992, + "gid": 0, + "header_offset": 8852480, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def", + "sha256": "ad36ee0acd2323014fd3030bed61940b5701eee1ac0aabbe8779eb444e443792", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7825, + "data_offset": 8872448, + "gid": 0, + "header_offset": 8871936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h", + "sha256": "2503c672b155608463651164ec3b7920ef9e3c3aedf327579890e6f6dea53747", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 15692, + "data_offset": 8881152, + "gid": 0, + "header_offset": 8880640, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h", + "sha256": "9ab00124c52294df63f666481b6201303792fd97155d67981bc74594ddf9157c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1184, + "data_offset": 8897536, + "gid": 0, + "header_offset": 8897024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h", + "sha256": "d384ae33a23985613c839280f1b4845b3415c055e32209c6bc795a4d594f018f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 178, + "data_offset": 8899584, + "gid": 0, + "header_offset": 8899072, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h", + "sha256": "d8729f976710961c7d34afc545be1c22dfb654be3425ce379511c6f837979141", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2853, + "data_offset": 8900608, + "gid": 0, + "header_offset": 8900096, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h", + "sha256": "94db68428a4204367beebe06af7039204b0a1585b192dbe3fbc9e2c2e48aca3e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 903, + "data_offset": 8904192, + "gid": 0, + "header_offset": 8903680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h", + "sha256": "70fc64b69e8c6e69ba860d3611bff17183fac32f2d2a6050383d1627f87aef08", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1937, + "data_offset": 8905728, + "gid": 0, + "header_offset": 8905216, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h", + "sha256": "48614ce6d1de0747f00f7e7d6688194aaee8b1cc95e198b8b9081f0001c0bef3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3892, + "data_offset": 8908288, + "gid": 0, + "header_offset": 8907776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h", + "sha256": "a3d786765e5e8c9db578aa39b36f0ace394eb235d89c9b84709b4283e99ee361", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5902, + "data_offset": 8912896, + "gid": 0, + "header_offset": 8912384, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h", + "sha256": "d30ad2d326dc52920c97453044915ce687b15493d08c80bc4e14e7e8ff2ad510", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1207, + "data_offset": 8919552, + "gid": 0, + "header_offset": 8919040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h", + "sha256": "24615be2b839893f983c6bd916065b7dbf708f5a8517c5905d8571d6527fa81e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 23198, + "data_offset": 8921600, + "gid": 0, + "header_offset": 8921088, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h", + "sha256": "81664ae9afd3c1ecd324c6bbdea316238e0ea2c088d7f01b71904d633725a39d", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7260, + "data_offset": 8945664, + "gid": 0, + "header_offset": 8945152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h", + "sha256": "67399acc52c905646efc22970c64b744431ad89781dd5fe471ef0b2705bdb928", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 69861, + "data_offset": 8953856, + "gid": 0, + "header_offset": 8953344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h", + "sha256": "72c8a34ea0beb747d9b4ae82cc8c206dce09ed0de5b6a2e0e147df7c959274dc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 25753, + "data_offset": 9024512, + "gid": 0, + "header_offset": 9024000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h", + "sha256": "b5db489b124efdadac5fdb41ae52b43b833e2068bfe30e8d7bb32378ebebe324", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1898, + "data_offset": 9051136, + "gid": 0, + "header_offset": 9050624, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h", + "sha256": "e2682f2108c770b4cff558b4a94f34e727b63bc27952e35bb429d8bc10e9c45c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2740, + "data_offset": 9053696, + "gid": 0, + "header_offset": 9053184, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h", + "sha256": "686c6456f152eebb3165a614a7bb9a023c9288321b45deb8dc48fcc9b7001e71", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2882, + "data_offset": 9057280, + "gid": 0, + "header_offset": 9056768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h", + "sha256": "d47a731de33f8ec5b39d1766423dd09f2c96166a97136a9ef3d2d45db2219cf1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2494, + "data_offset": 9060864, + "gid": 0, + "header_offset": 9060352, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h", + "sha256": "175e52e40899cf68d11021d9003601f4504e3645f77ab5660c469d34295055c3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1248, + "data_offset": 9063936, + "gid": 0, + "header_offset": 9063424, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h", + "sha256": "e849d35541688b86c31bc9b8f680644932badbe00390fa10012b1f278d2bdc76", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1922, + "data_offset": 9065984, + "gid": 0, + "header_offset": 9065472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h", + "sha256": "ee8dc16a1108fc9fd35fcd814fd4a46a4d91a3300199ebeee46cf6bd3d2b7dcb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 845, + "data_offset": 9068544, + "gid": 0, + "header_offset": 9068032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h", + "sha256": "4044e2f7b1a8b7c71ea1a4044ad475654b8deaa774515e79e93986b7ba22238f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 8783, + "data_offset": 9070080, + "gid": 0, + "header_offset": 9069568, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h", + "sha256": "94fd38febea66c112ae50f7a40614f9d6a4a6891ce1e0c2ce9fabaf7b5b7dba5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1967, + "data_offset": 9079808, + "gid": 0, + "header_offset": 9079296, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h", + "sha256": "281eb66117fa6e31a1c2a8dec62e6b7cd89fd254fce5c0b661e7251c7413d636", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4209, + "data_offset": 9082368, + "gid": 0, + "header_offset": 9081856, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h", + "sha256": "43f2b75441dddf1761845ccf1ba5801ec6cbe28c12b4d49247b6a0e28d0df0ee", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2239, + "data_offset": 9087488, + "gid": 0, + "header_offset": 9086976, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h", + "sha256": "3ab97eca2ae52177f8569ca13446c7e042ac120dd5e268f7a350729460cca265", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2743, + "data_offset": 9090560, + "gid": 0, + "header_offset": 9090048, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h", + "sha256": "4fad928b3dc11362c2a40724cb2c57ab833a094289ed0a543769eafc8984884f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1119, + "data_offset": 9094144, + "gid": 0, + "header_offset": 9093632, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h", + "sha256": "92d5051512088e6eec0cc59ac147f6341324424b3097b007cc6fdddc3f5bcedf", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2731, + "data_offset": 9096192, + "gid": 0, + "header_offset": 9095680, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h", + "sha256": "8f3c9e4aaa6c024e292ecec67bfd1f1dddc53a03ee3aa0d1800e8473ad2fd307", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 864, + "data_offset": 9099776, + "gid": 0, + "header_offset": 9099264, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h", + "sha256": "93e5e2a2451f179f82e0bbb9e05212f86409afc0c8819449907eee3ffbf7ba61", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 33360, + "data_offset": 9101312, + "gid": 0, + "header_offset": 9100800, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h", + "sha256": "5c0d48970ef2feff54f820cedbd2ec03ed4429ebe01fcd418a0798fa2cdeb732", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2233, + "data_offset": 9135616, + "gid": 0, + "header_offset": 9135104, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h", + "sha256": "0e30ea4024a1137cfbc0a9f111a95af10b81229f382d5c78ab7f3a758b5df4b0", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2611, + "data_offset": 9138688, + "gid": 0, + "header_offset": 9138176, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h", + "sha256": "55946e594a4411c6952e58ba0c48c0fc9b04f2d5343f4569c24e491a06c911a8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2639, + "data_offset": 9142272, + "gid": 0, + "header_offset": 9141760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h", + "sha256": "ac1fe4387efb0886401aab91be2a163eaef8e19d4c86edfc01ce7cabb46f2c89", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1257, + "data_offset": 9145856, + "gid": 0, + "header_offset": 9145344, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h", + "sha256": "4de1ecd294cf8f170d9125bcc679e7e97cf6eddf196fbad815b1dcc09d7f0974", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1660, + "data_offset": 9147904, + "gid": 0, + "header_offset": 9147392, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h", + "sha256": "2e5ee918aadfad4eab3110ac015b58f0a422322837428b820d0fcad31e6f7c2a", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1370, + "data_offset": 9150464, + "gid": 0, + "header_offset": 9149952, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h", + "sha256": "fdcc413bd1c26e60ced05955775249adc50d845cc717e1232b771cbc46a10cd2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 7908, + "data_offset": 9152512, + "gid": 0, + "header_offset": 9152000, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h", + "sha256": "e480abea7e5453f93991d93b68eba5f24172cd5025edc69d1903ecaac3377ab4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1080, + "data_offset": 9161216, + "gid": 0, + "header_offset": 9160704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h", + "sha256": "4aa56ee7936b971cdcfcfe02d8e50b7c73898148d0b13c900998cce4b3e3826c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 925, + "data_offset": 9163264, + "gid": 0, + "header_offset": 9162752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h", + "sha256": "d57695859d946a0a08b6ba67647d9f019719e7ae28d00aafa9090bb1ffd23821", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 783, + "data_offset": 9164800, + "gid": 0, + "header_offset": 9164288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h", + "sha256": "39890e388df9c1e58ea3231fd8b62e83cdc94eacd9ca34697202432f512000fb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 866, + "data_offset": 9166336, + "gid": 0, + "header_offset": 9165824, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h", + "sha256": "19e58e107972cbc4dd0c476501c9f22cfc8928e44656d5a0b63406a69fe1147f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1190, + "data_offset": 9167872, + "gid": 0, + "header_offset": 9167360, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h", + "sha256": "e3471ff30a880e9fb0b20536337e1c47ad81e95191a0d7a9d3f68769a446cc79", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 9848, + "data_offset": 9169920, + "gid": 0, + "header_offset": 9169408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h", + "sha256": "7eb1f5add837f73a595b6f99be137f4504bc78a2545d5113a4ac04c7dd40aee7", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1487, + "data_offset": 9180672, + "gid": 0, + "header_offset": 9180160, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h", + "sha256": "27b4830de909093ea950ef749f2bec5262292e20085e9b3f03e9c7560cf355ac", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2216, + "data_offset": 9182720, + "gid": 0, + "header_offset": 9182208, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h", + "sha256": "9180801003efef48b9ac6478249a61a2007cfbdb6ca6869bf6a843878ff04779", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3026, + "data_offset": 9185792, + "gid": 0, + "header_offset": 9185280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h", + "sha256": "7210f337e00c14ab24f5e12a0548fe10ddd9a116fab8a026d1d4af53a3d1756b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2892, + "data_offset": 9189376, + "gid": 0, + "header_offset": 9188864, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h", + "sha256": "2dc61c12421e0fd2556fcbb4a3f09d983ec09487f443543dfd1f399e49970cdc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 948, + "data_offset": 9192960, + "gid": 0, + "header_offset": 9192448, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h", + "sha256": "d691cd0b7efc3973eb7643177b9fb7fc703f535f8d3a2feb8721769838e57fb1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3960, + "data_offset": 9194496, + "gid": 0, + "header_offset": 9193984, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h", + "sha256": "a5952f0283876d4936a5f2d4b02986501eecb1648ae6df9aa1377cbe702b1c52", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4169, + "data_offset": 9199104, + "gid": 0, + "header_offset": 9198592, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h", + "sha256": "1999fca83931fd4e130324c8c322eeb584fc0ee93f2d5f792588fcc9b473f6ed", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1298, + "data_offset": 9204224, + "gid": 0, + "header_offset": 9203712, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h", + "sha256": "6cc2f85619723a929dd0769d5072625b5fd8d50edc7421e70fff43edb7169d94", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 10715, + "data_offset": 9206272, + "gid": 0, + "header_offset": 9205760, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h", + "sha256": "321de0f0993e17553bb211f21edff5b4f1c11738d5551116f3b06a8393ce41f9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6924, + "data_offset": 9217536, + "gid": 0, + "header_offset": 9217024, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h", + "sha256": "5fc7bd13d7161135656c45c6a9c7e3e2e76677cb871bd37306c2334a890cad9c", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1524, + "data_offset": 9225216, + "gid": 0, + "header_offset": 9224704, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h", + "sha256": "715849f809a9ec47d18dc8dce4bdef3b4e80327d0ffc711e4aca057142af2f34", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 917, + "data_offset": 9227264, + "gid": 0, + "header_offset": 9226752, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h", + "sha256": "e56a2853b629f9b88dde117aca2213d76329ddcd20a88536abf9cbc0bf3e1828", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4235, + "data_offset": 9228800, + "gid": 0, + "header_offset": 9228288, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h", + "sha256": "256730ffac7856335a8ac3a080822cecfa7f330d77377fb806c370c84869ba92", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4840, + "data_offset": 9233920, + "gid": 0, + "header_offset": 9233408, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h", + "sha256": "d00fc4ff751939442bb13200c245be5c7ab180a7f72e7b319b20548e918612b3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3558, + "data_offset": 9239552, + "gid": 0, + "header_offset": 9239040, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h", + "sha256": "cad297231afa3fe7cc90d66cd8507d13c037e5d1818e2b7d799b9a32d6e6efe9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4832, + "data_offset": 9243648, + "gid": 0, + "header_offset": 9243136, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h", + "sha256": "9137c7fe117fec9307874e6171240c6187918b3196b22565af89ec9c944f5349", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1144, + "data_offset": 9249280, + "gid": 0, + "header_offset": 9248768, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h", + "sha256": "5a26f5d6c0099b6f338ed8b99cc028567836d8efdc08e26af4fb513456cec2f2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4350, + "data_offset": 9251328, + "gid": 0, + "header_offset": 9250816, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h", + "sha256": "e0eef442b4a28d84342c008c03db818e0321a1e86a2308d5ab3fdde9a2786b58", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 28402, + "data_offset": 9256448, + "gid": 0, + "header_offset": 9255936, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h", + "sha256": "c57a807c586b9bc8badbeb0efca1998a5b02ddd772685fa45affa05d775d3ab5", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4401, + "data_offset": 9285632, + "gid": 0, + "header_offset": 9285120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h", + "sha256": "4bf2efbba9eff4a89fc749d3e8eeeab4214413d01b7708fe398138fbbf445469", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 94603, + "data_offset": 9290752, + "gid": 0, + "header_offset": 9290240, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h", + "sha256": "d8c0f2d77952e655c40122a1f81d332bbbf3b60d8a0e6e35a65b709f9fa82018", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1736, + "data_offset": 9385984, + "gid": 0, + "header_offset": 9385472, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h", + "sha256": "48a0510e236793b2b45f59b153f12e99e354ae7f522723859b6572c3890cf297", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 72523, + "data_offset": 9388544, + "gid": 0, + "header_offset": 9388032, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def", + "sha256": "f70aa7747e4e7eb16e7b8e5b980ce7aad073f3eab04b0490b04757075751557f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 263001, + "data_offset": 9461760, + "gid": 0, + "header_offset": 9461248, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h", + "sha256": "e43b7e2a14af9d9f70d3665117a7c56022dc024e9d7d5342515480b661c1a4fb", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2857, + "data_offset": 9725440, + "gid": 0, + "header_offset": 9724928, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def", + "sha256": "ff574f07a550c10b969f9bc6e807cff29dd42165f5b4576346d582f61eb977d2", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2074, + "data_offset": 9729024, + "gid": 0, + "header_offset": 9728512, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h", + "sha256": "d510e8c6a7577927866daa8ac11d119c0053aed4fd06b36e69d46094ac142ee3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 876, + "data_offset": 9732096, + "gid": 0, + "header_offset": 9731584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h", + "sha256": "0d38c04e33b5148e3b942a927cc527426b78ac11ed3ceb4f3269b021f90aa016", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3858, + "data_offset": 9733632, + "gid": 0, + "header_offset": 9733120, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h", + "sha256": "aca99131c169f3ad2b1dbdc9ea8212af4db1b60dea6504a4a898f3b709ee6fe8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1507, + "data_offset": 9738240, + "gid": 0, + "header_offset": 9737728, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h", + "sha256": "79619807973c2ef13c659fa7b489d03b4f0d33999abdc6e764f24361d2b0175b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 16565, + "data_offset": 9740288, + "gid": 0, + "header_offset": 9739776, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h", + "sha256": "d0fa2a152a1ccae57677a247f8d3d0e0b7587b8c278b0a25599d93cfec060474", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2454, + "data_offset": 9757696, + "gid": 0, + "header_offset": 9757184, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h", + "sha256": "169467579ba4adbfd804265ac2bd7359ef16c79391fa6602f4d7f2033061bf6b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4631, + "data_offset": 9760768, + "gid": 0, + "header_offset": 9760256, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h", + "sha256": "bb80a90527416b1719df1eb3f393a33a0dc0ea441192dacc83e58c69574f52da", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 2013, + "data_offset": 9766400, + "gid": 0, + "header_offset": 9765888, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h", + "sha256": "89196b6ff62143633c6a518df1836c04bb72e30afb08224e0dbdd75128069274", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 4832, + "data_offset": 9768960, + "gid": 0, + "header_offset": 9768448, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h", + "sha256": "8d7d741b2c71b3c7e40e6391815f74052648c61c43ab79119776e74722dcba04", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5296, + "data_offset": 9774592, + "gid": 0, + "header_offset": 9774080, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h", + "sha256": "f1393db4cd32c375b0ce3214da19c2349b24b7fa74d40afa387df74e30927dd1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1408, + "data_offset": 9780736, + "gid": 0, + "header_offset": 9780224, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h", + "sha256": "8212903dda4dede929ebe9dce14e52a435e858d377e1e2e32431d307f3a7c9c9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6554, + "data_offset": 9782784, + "gid": 0, + "header_offset": 9782272, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h", + "sha256": "f6cde179c507cc69043d9dd279051d105070ac06dcda4b053e85b0c24763e3b4", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 35834, + "data_offset": 9789952, + "gid": 0, + "header_offset": 9789440, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h", + "sha256": "7e3b1ccb1268f0a3068503204f0de815e4bf7744b1c519f47f1a9673e10a3188", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 17660, + "data_offset": 9826304, + "gid": 0, + "header_offset": 9825792, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h", + "sha256": "803a42ad4f6efc53d2e7da1e0860f2bf1431e30a274e2208d32c4c8db4609005", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3366, + "data_offset": 9844736, + "gid": 0, + "header_offset": 9844224, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h", + "sha256": "20af661619be8b238c7e86125de78ee17ff8c1df86ba14819bc2f5d8c5d236b8", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 5396, + "data_offset": 9848832, + "gid": 0, + "header_offset": 9848320, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h", + "sha256": "1615a0e5983a6ae79f9cd34924a43c6b6bc5bc63cd0bd8f688775fc7b41c1b8f", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 68181, + "data_offset": 9854976, + "gid": 0, + "header_offset": 9854464, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h", + "sha256": "3b4f5d131eaaf0b85bd32d96b745296829e8b041e51f3edef9b315d95778e84e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 20401, + "data_offset": 9924096, + "gid": 0, + "header_offset": 9923584, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h", + "sha256": "f8cd58ea9fb282c54da1234af84636a1c3a048ec945f994376afcbc4e752c505", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 885, + "data_offset": 9945088, + "gid": 0, + "header_offset": 9944576, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h", + "sha256": "fe068e90580c6b374a6edac2c134b2c4180d393a0147e373cefa33cf2869d1cc", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6525, + "data_offset": 9946624, + "gid": 0, + "header_offset": 9946112, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h", + "sha256": "99071fb0b5ecdf2815fbbfe637ed7c4b89dcfa1e524c5b818af845ca0db0cbb3", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3388, + "data_offset": 9953792, + "gid": 0, + "header_offset": 9953280, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h", + "sha256": "47dd314e60d70600a3f8dcc7a7ac53510c59dce4a6d25adb57fda92e8b315201", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 6900, + "data_offset": 9957888, + "gid": 0, + "header_offset": 9957376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h", + "sha256": "6bec4dbf6021c2e28cb381ac74f8fe642643c1b3089e0cf5ddd2adf96f672eb9", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 3351, + "data_offset": 9965568, + "gid": 0, + "header_offset": 9965056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h", + "sha256": "8ba13aba55db5db81c466ba6746d4f69f5d42fa2fc9b003bbbf5e85e9fe3ee06", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1410, + "data_offset": 9969664, + "gid": 0, + "header_offset": 9969152, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h", + "sha256": "09fe308dede2d6b4440bfab52635e68e4d6530e9a63d49824dec7e67bd8a7d4e", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 113480, + "data_offset": 9971712, + "gid": 0, + "header_offset": 9971200, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h", + "sha256": "f68d0a5f637239065ad46e0f6bcc840d3491e33b391ed85844eb1983b9d34f81", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 1177, + "data_offset": 10085888, + "gid": 0, + "header_offset": 10085376, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h", + "raw_path": "./usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h", + "sha256": "586e49f5466bd85323f6b458ba8c1beb99bed3bfb5f62fbe8a2ad5bbb87c26b1", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10087936, + "gid": 0, + "header_offset": 10087424, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/libexec", + "raw_path": "./usr/libexec", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10088448, + "gid": 0, + "header_offset": 10087936, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/libexec/gcc", + "raw_path": "./usr/libexec/gcc", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10088960, + "gid": 0, + "header_offset": 10088448, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/libexec/gcc/x86_64-linux-gnu", + "raw_path": "./usr/libexec/gcc/x86_64-linux-gnu", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10089472, + "gid": 0, + "header_offset": 10088960, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/libexec/gcc/x86_64-linux-gnu/13", + "raw_path": "./usr/libexec/gcc/x86_64-linux-gnu/13", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10089984, + "gid": 0, + "header_offset": 10089472, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/libexec/gcc/x86_64-linux-gnu/13/plugin", + "raw_path": "./usr/libexec/gcc/x86_64-linux-gnu/13/plugin", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 192440, + "data_offset": 10090496, + "gid": 0, + "header_offset": 10089984, + "kind": "file", + "linkname": "", + "mode": 493, + "path": "usr/libexec/gcc/x86_64-linux-gnu/13/plugin/gengtype", + "raw_path": "./usr/libexec/gcc/x86_64-linux-gnu/13/plugin/gengtype", + "sha256": "b4ac168aa2971fd6c11706989d11fc9221f28d05e38f2bac5a7ea8f222d43587", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10283520, + "gid": 0, + "header_offset": 10283008, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/share", + "raw_path": "./usr/share", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10284032, + "gid": 0, + "header_offset": 10283520, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/share/doc", + "raw_path": "./usr/share/doc", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10284544, + "gid": 0, + "header_offset": 10284032, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/share/lintian", + "raw_path": "./usr/share/lintian", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10285056, + "gid": 0, + "header_offset": 10284544, + "kind": "directory", + "linkname": "", + "mode": 493, + "path": "usr/share/lintian/overrides", + "raw_path": "./usr/share/lintian/overrides", + "typeflag": "35", + "uid": 0 + }, + { + "bytes": 43, + "data_offset": 10285568, + "gid": 0, + "header_offset": 10285056, + "kind": "file", + "linkname": "", + "mode": 420, + "path": "usr/share/lintian/overrides/gcc-13-plugin-dev", + "raw_path": "./usr/share/lintian/overrides/gcc-13-plugin-dev", + "sha256": "bc01f6e7ef2515ceda4957af98609a67c6d91668e78634401071e89f053fdc9b", + "typeflag": "30", + "uid": 0 + }, + { + "bytes": 0, + "data_offset": 10286592, + "gid": 0, + "header_offset": 10286080, + "kind": "symlink", + "linkname": "gcc-13-base", + "mode": 511, + "path": "usr/share/doc/gcc-13-plugin-dev", + "raw_path": "./usr/share/doc/gcc-13-plugin-dev", + "typeflag": "32", + "uid": 0 + } + ] + } +} diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb b/research/h25-gcc-generated-config-data/unit03/source-artifacts/gcc-13-plugin-dev_13.3.0-6ubuntu2~24.04.1_amd64.deb new file mode 100644 index 0000000000000000000000000000000000000000..d3202fd5568ad7bad6ad47554836cee6301d856c GIT binary patch literal 1451870 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 K3;D#dHk~7$BNT59~es~1os1^n0D9w0gNHQ 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%0AGZRA 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%0D0R0h7y)SXH6Un^ zWN7CdVRbQvic%aC@1ehF(kERVKz|1gieaDQI@bbn zpV`0Q9<3cK=q5D7?d57KTNbH_#lkDGtjg(P0{-l@70G6u}lPqj zKx|Pc8c>Fk9;nuzh`efY)-1KYQ=VO1cPANjtU^#AZ~z{u_1=_jmsylk%z4R-VuHa? zAg(EltXcQsy_QKnIl7*ZMx5@4i;tRuDmvWX0E)ygNB9Em6bmkz`r}Hkc5;C((n#_l z9OhML62$@Qj1`Orv4AyzCWbGt_E(O2M4%oKi{26f3E#o!%J&ohd-AB!0_JuI3Xku! zS(tD#X#?)sH##ZmWJ<-~OA^3loT%o(sD2r2;(g9nw{?UWcdT1`%F$u7N=0N|aoGA0%O zZ|(XS^qp+{)#8@3@s6QOjz+t*LIcQHosZ9TS-a(LHGEWYyUKkH9zJ!CLj6GWH}6Mn zzj7(I!Eur34Fa}@yy_I_U~|>=zjQ(A+9?5X;Ocv(KR({`ug*l`rsxk$%UKT zK5a|LV5tiw23hi@WHF&xNdVn70$CB`He4bSbPxQx?xpyHolK5F728}K{7>##>Cp=% zEV`g$-T2f5`Y2tNZ@b~_nZtGbY_d`87baaQVVa~Au+Ft{7Qn#UQbnLPKZesN}#^nWYu=Y z)KM;a6Oge|x?sodBzdRyP1|DSWpfU2WSy8c>Fo&tH`Dd+&E_y?-GFK5Pfu4^}&#hi(&4jM(S~J9ekTbiNm6k{*;HyhgVluXw1jPiD zJAH`eaNf0T)D;(Q_4_-ph>_RfOop_|DFhKosuK)nYdmyDvuOO2Fz6`C{Y+gc+rhi2 zGb@H($YPGzQ3MOe(Y&8s*Au{UoiKPv;X#XI5`Pn%_=r1%zvzHVQ>VJv<@Fn>jxT}S*T=1^?CPvvNFjMnAd^q(THmT8rs@ucSMIlPd zqntUKxtgUGLmIWVdNVPvsX^;`?$z(meUxB7XBMVV3imLF_5cTiiT7D~VIAo$$uYR? z(Tb(w1Fi5X1-wWaxw+R`0UmvT1zFY0lUh)_#l0BBd2Ua&&*?Y)0NAW#6RrhTDB)le z1&s2flv#&#@eq*|y1Vf3-X~hAKT9#`;b=EhfrVCk@HU_tGXmLjFt;!Mp%u{UXz+j? zA`($NN^aSYdr=7TI*j)Z#PX}!lvON${OpLB*GLfJZ@Sg$ z4kh?39^0uVto>6M;#nGlQzNOnD2*&{uhB8$B?Q<{)ff_V%8l@@mM7ZxBa=X-?9;e- zn}e?<){DqwQap2jXI%M!2TM!cIHJ^i(*z1Kt7gE6MdSe#2+>CyQWF^aMR+05YvJ1UKni;A~v9uuKT3E6fVIFd1XKU+-V3 z783Q$Qs~f_?VTB?iO5xo@Kc$D-5Ocm&odi)58*4kwO=`nnv*RblKP~@o5!OF$Dq}2 zo?%H}mV+iUaT7|$v2bg351x|{%y)x`-tv$Fx>jlouwyEba{+)KI2;KMoK!ofkQZ4` z--DGjh$?1-s4kze1mhGeE?}Y-j@twqh0c*>X$@QiUPl&J_q9?HBI*|AfE0NUN@G(A z`QT&4{(fapxZ_c@3|kO%_J{_kw9Hrla#M6;77zKB3HVN!lNmsCt!ciSlYO0dNTB7E zgNVgd>SrT#Ig;<4gH(NfbGel`lkvTAbT$77_Q}gcpBX+_TA=UfTdC-S7e+AN|55F5 zyPbE(l34lUbaiC%woW%S$cDCdH0Iq?n#Oa{a`$r7Lg|{_knS@*ug#DEqsq&mRTSdP z7lHU(V>|v7>1Z@fQR#Os+-n;_@hATc`mqb`#pp}#S*qt_X!n!nV~38rfXYi0cc6ve z`{C}hqfZ%$@89Z)1-NK0#ioMR7E=y}=sK>|N{?7v5FPG7=ql?17k1&bVy?Jor{&mj zesI_0dj_xNB{scz^+<9e7tEu3g@|l!(3z2CVrWuo3q~vpRiSpkQ*8a zpai%`L52zhd=zn#4)+#fh@!eHVJ=7J5dE@ldGN#bitBeblSWqsOD>kCk!zdooq6ip z+TdO4#i~cA1hG9kNR~t6ls@3$ZS88yK)-@Dy?r7cvi#w=a<_a-y>mEUld|Ycho%RN zUH{$~ZUdV2olj*cW|qk*m&#$hbCyQtD{imOO2J54)d17K2gn#(EMr+*Yi&zBb(?bv zB&RNP9M!YkSls{cxm0hGWVQ6W1`kD;=Dn!C(Gflh?FpP@cg)j?^;TcbC@}BZEh7_) zj6}Vnpr?UDu96lG+bc^9?p9}uBErVTJ60RX zoXtOP++1_ZxmQ0ph0GsYEn(~+ZdNJkH^|}igX#@^@GXTC>`<0x>NGj}{SYLy5urJB zB96;T7E9%>70JHT&bPlQf1z{8`>5A*v!Jj|vP&wHL`g1Pt`sgR=8N^6oFbO2|JAh| z%woUNnCVuo$69 zV{A$PY)|#BLAR`*@yP=CDN(YMlaK88n3V^`9Z(P>) zhb6c8&=UJ~afF~aUVqcLb|D+MPw?*Fy{ajochVp&NUjXT^#;Or(g+-GK1ogCMKo1} z!vqRBhI+?5KBYU~F>v3N*qG9Q*TuPyyrtmk|1;kWMQo z#e|2iD>>rk4hJRLwKGP-xQSv!1aim^xjrqR&|ZWG3w&fpv6$*=cU%Bs45Pud4pKZ( z9PHbuCzPY|5dSP{@tp5`^x1)V`^bPes%?iq8$S%t%$~mqW#D-^Hts(wV)Et(`LD>Q z$w=P}*8sODm;PPKCoaQT%Fjon3nT`Y^Ox7G;Jcs?o0S`>zgWW4)1ev4Ge2`$`bEf4 zo@$NH&BwmN?hVt}cy8fmm5Bvs-lB1W&u329nw>CDjh&#&N9sgu zR8%-<)_s^A`5ekR$K^rfQRC2fX%opGQ_?EOuRWPokOrb)XrIS=OzZbr={_Tk=J#9| z+lDt_zy*XDA>SC1yxM)z7e^=QoyN79C0=N{#Im09yb$9$%vp3YNa|oySp6w??pSS- zeCVMs3mG5JhHEVzfKFFCK5cdW-5hq1ckDJz)!9)U528T-@FH}z6A8gw{}x^8iv5q4 z?KR?A6yxj(;42nIE?vlpc^}m^fpOV$tN6>DaawGs;?x`r*!u1PQw_3bn*+YR^9y%O z_`nwg?Q9KPtj~*$>YA!TyUy-f;*-^HY%PT{38T7yrMuPZ?|X^auNeL8gxnWYi$%dp zyw|rir}0}uoLh+y!=+cJO@o8VHjWyzHxA8^#8?ADYMy#{_;Rc{Qp>ssln3Dp3i83n zeexmQDn*qMI7EFWcC>qmzP%@;Jg^;7*~%)~dd zh;LkWMnt~ynpJTow#PW;AaNWczjRg9P@ z5yPZ)ZmXOvtsOfU*#W11=M19$4LU5j0fQJG26Po=x#BBF8bL{6LS0mX^jxUo0B65{ z3G+A1mo}e*G1wwW@Bht)?rp%G96s98R`m2t?94Ic$~ zAFppDz#8kYQi16aOCcu3>X-M~|MCF2U!dW_Kz>8hGoA71fO*pCldi1oiC{F_>v+^l zSu@BvYTS~`Chrm51J@W_C0Kmr5@;Rx4nL4lI1{PEGYEQ_QRq-Pmt5B-*A7x)Ib{Nr zUC$Z40qx~>DeZOrBFgz%gSfw?d=B3sgbMAGcv}lWb-$DVEB7!h3QZ=;#HGlLZXpU5 zh`H5rqelHjSmvjGCl;{hFq4N}N^t7PFF#XG52NYh|m{80k5x8Pbn>%7xZm|jR zZW)!r58gZEqhPPcv?rlV610l*D}ek`t$&Lake%iRCI}2hB0ws|XeAuBvk*@a?KJma z&2UZ3S-#@2$kR(y66>pe(M;H1L5XO0*!{ax&$Rio$xsN?LWJrY?tvWB(emG~|9hL$ z_s$P0-nqqVr*8XeD~vMmdfger3MwhP_iF$VImz`YA#dz4C8jTt8I*y{MvnwNk!~lX zpCU5rJ_TyOd>5ZjzPXDFXHD8UmOMu|u#iZhIT)Lo2@RqT2!B)BFu(Gyca5SEWR&GPLO@&!QYd%`a?UMRjtrpW z?P)JI+k6iNfwGD*O^W95`9 zF{(>YV`a0aY5rn&AkW&&)0ScKn8;l;2542%>okb^+6#YjxfOjR&4=@W9EiHntFX-H}kEZ%R<=KtmokMYM z^mYIea!xZ>)nuQJ&sdiy4zQKz zDg^AP)dh*fU{q-H&p5S@;A$KR;t4Cu>quDy%PRdPViG)O@W%S=urJ?5oDyJ+rBm6Z z4c&cBs@cwgnf03ln|yY9UDW3HVb8?Lvbzsc{TZi;k=B_5i~Gp?#khsR4iWbU1~agL z;gv@iyly;lQ7Z7%DJ6B@wE;G@$SliP~%;58e#e z6?liq8F_BuGXKKEV_m;ZQQ)QM?m4pW6oq1k=*4+!t!Vg@v-sEw$zT{2arjEVgT2*9 zfmi4|mauYVT2^*$fIXqcycxr`0@J%ljaQXwy;FPJ#6kBU@WE;H+*!(ftR!bW9$-vF zBomaj+k6+o1to6GA)m?OtdJPOGfw{A<<07r$r?^-dBV#K7R^Ml+DnY_!Ue&Z{&AFW zWFv(dv$~4)jn5BevL---Bd3K_pRghJ{$DM2csZ=0^q5+F(JihAO|Tf3R=H)vADFZr zG|H*3mc!o_tmAh+CJ^N4a(}42tG1*8pcG`YBXOe`R~k_vssj~2n$3VQNs3NP`rc%X z1Qo5JLVyRqAfJh|r6{7MnvLLn35j7B7iw}LatcVR= z22e|;nsSraRTN{DS=5i*rNoviR&t9%9I2aZ9gS38>D<5Y38VGT~bcA;mm?ConF>sUXv;HzIWtVI);ZMPND(#|(UWo=os7BycT}3gHY} zs<@V%?N(V$iO9523e-3$JrbeCezHs22GK(1UEIgwK}^GG(mJvz@qK|MC-{Yr<<)|c ztXZ&_R%zDQv*Cb&48;|LA6{?z&1@#qK3uhMes|fw^^M{e0Xl2<(Ft8Gz}5)JsBF~$ zxL|ip!5Xr9H{h6dLLT&F=I=7pjOPI#vLg=-Nq|WIm#!P54Z3PM1h`SYE~rz^pz_Rshq>#bC(lz*ffJ$ouJ*@>bo|(l*UZb;xI6 zqw`4Dxceq9jjszLoIc}w=`o6bw02#i*-Ux?R104JZeIlvEN3uMN$kHF3z!Sjog$q@SKebw=$an(+>FeV92{nSveB3(nO#|FGprbZO>BbJ!{qD>Il_~ z6Z`}&iP-OPbAjZ|7Xu&A8@{6~j+Y8%Z>QPD5OVAuNC(-ew8!lagsn0cF7(!(s_>CR zA7`~`#qEGYib7%f%iMfg z?r2oH11fYWn-lB?8bhc%lP6h-31|sLax+pV2LMCh0i}*}RrBUYN;#D93xS*a2iT5W z!Rz5ods$H}Fv>k4IgzndvHBkp?3g2u=rjV16?LVg#>2tl(rUA6V8*1cOM^p_(bJvJ zB-MCDbBD_wI|AZYDH9bI!{QnQ+P?y+Thu7~R5f0w$aa>115~}32Pybd;DEe)C@^Qp zzfWM26z0OdJ_w@2pjOLeG8JurNvoUoJYpkn(Obg*m7KbQQ;C|9&6UE$UrWv?@bTf#X}gDs6h0R&$_J7A{+z1U4&0~ynlOI`%yp)pGq3&E9i)YPG^(j@#m z!w>6y3LY-VqrtKuLsBe|0AVTGKLQfLW zUzY@6mg<|IE2^$xP~99tH&g1)Fjq>Jx-E?IBqwCCaPL^iN)*H?0CzZZgFd-gC&~0J zN)5^&H;MO+PI1{ju%OvAJR}{THIU{IB!B<~S*mTCs47JQXcLReK@r`LWo9{zXzZsg zgIX)~P!L`IyQP{MYY&L^;=ri0N(LQ|?4xvUV3bh=NOx*odNJ$DeZAz~<@fZ1tXGq1 z7u?m=U)@QSNU+CZjKJYR*6#xPMf^Gc86mqFSoHlAz9#nx<{=LP}%<&=JC>xoE zcOZyJLD5m_q#BrCcUiA>TuVxvAu#nlmK}I|%L15sI!Kt|Xcldk8@~+Aa83=xov?Fk zY)+|3@E{}3E7yJtPCgXWPXQF6kJ^&7RJTfa$`i(RBH_;~C(pYH4Mba#JZJM${kNW% zf+S|}+o-v!4Gg^-8@UBe1Yg3&b&)f(eIOvt!7@YwZakd#+SMF41EHG%a|XzNbgtZy zcO1Y})x$>83h4Urej^Tkj4aPNq2nkGtO+TVN)xX%deGB|teT9N?piVaYSkM&jIQPIm9QFxMvW7-@vYXoJKg)~Srt@{IKfE% zW*n-5;;YjObk){K^`t{ePp;R!2LrlzY4tLpJx^Yd`RG>z!ITyAjqt&B)0*8?=SDYF z_1RL8{MYbn1a8?dJe0}3&72`In=+(}4EBY^;GZ6di2A75SSy@!-|>?9f_XWh8|0%%NSJqm9tBm7JUj znJ2|Aao1o;MoQreERxbi%-)geTmshJ@>mPN%awo^1uOtz-_#M+1OQkYo&_kO)K!F& zT|wZ0xFUCdv6dpM7q4Z(^0H5kGzzcjj*isKpsea9W9a*c7haEO1HZMQ-80C~nrQQO(M(QkWb{ zpyfw`1kA)n!|ts-b5)F3;%CEAPsi<*SBnPFN9S+K!fQ`qr-U0{;Evg<5uz2;C(K)r zDn%v48ucz{vcWczXbokA|9JXA79{x9ZlX0r%%Af26Obzo^j0t1{}XcIFrLp&K`u?Z zep*utmbv=Dow6eEcL#YYp3A?jHD?rxB-1$)LXmMkh2amNDhNh$)XPkI~>0No>&!7<~8#feM0{x)kYs zeG!ZB7H)>lETK{54)F4%S~N$wfk;RSx3yFMt^%RL1SJpDf)bqqPCg|beA@&NeH3an z#CE;K1h!7IA%mCfj-Q`Lom03hnFz*L?Z^m(PC<1LAq>?$-k@4dsd-Pu4jH_ZL_O{K z%^pcNOYPOBd|PU$gWsVbAsQ%6?2xP*2K7y+>hclb#igLDbl2A-$Q2mm7}_fTW^Jz@ zaI+AOA`a${2v{G-%<&MbpP-fACo#8A6t;U=Z!~0Rg`MOc8FcPX+P2DTNkGO!@X;5) zJCv@#7ZJ?qZVe?x4pemzi}sV<06-i`vvVjFe(XHFx1>K^tqO!wx0{vYk@rHRn-6~1uV1%y3vVujcvQ< zqBx+Ul;biDMdj*(SD6GQ;UQC>o)uFZkq^VT4$wmvu?z0)Ux;h-Jw(ncMW+oM3Ams+eA>hXFa8`jtGt+q1MP(x>j=#cQS`G6RCx)$p*XYo|r%cFHc0UHH#S=+Ta_Z&mx^$Z=& zm24`l`tnY~d};sw|GZg|ksTU!L}ntX-iuNRy*Bk}{=^Kw|L-(rX??D_bx)}_aJo_1 zZ6iIMB0v94=M9kO>6gbrUE~g~L> zuc(-{HG^7+>~(jN3UK(E-8nTvP}~ggQPYr45}$7iUjs=Gk22-TP{Ps4aV` z>V4XxP2QP*ZrIbK=-?Z}lPYlN@Kv3wM8D_|AE}H~4`sla_v4GoA5tei!K@h_D5K4s zotTXFy_b3Qj(8n72UKHY^B&Wd2QN6jfirkMzZ84yP@Lz^BlbgJlv8~@w6grn?z&I6V>h zOuksU0U@$LgGI_j`3k|)bB-_>%*s!eH5T0;rXsg<0CX0Wj*zGId_>ahXjtoJ)dF1O zH{UEYU(3$T-U*qApW4ijkg}nYY zyFwt?rsR!{Z0;}Mrlhr(_FUo2aJ0U6KoMJd-nLt^r)-s)a9>uwE?Yt9aMpx`Df^ma zCLs*M=eC7Ir`ml8Hfb`!)H}hvkuMiwrPPpw>ZppHEoO%ifhl0IHZb4P@&6bj_ z~G+ z&;NPsGh>Nn<48ntZ+Zv)mtp-7QoFOdH&*{p zS6{BBTw{%gR{2hy4kP0I6A^nSkcFxd??#m6i~Sn7fPn9uE^jM|*jLJV2s9 zW0k>%=Oo0KAjYQl0vbh4!Qc!V6D3%&D8?dz-Hsb3*8^UHK{!FH6lo*iQ3R{8@`DC* z8dhOou(oV2bg4Q~jyPf{NyJ%0(jOfSaAlb5IWrG6WEkWB0Pgzw^$`O#bZQzYq{1lu zcyvTAbP*GZF>gj6|J!ljS@BZmMv47)#>=0>{n^?{q5TFA+qD^o0Q6FgE$_p)uTgXi zMkGhXs!WDJyUuPb5YyK)^9&=k4fwhPIA3|u6P^kbj?lf)%S($Ck{J#FdC;S@d$_5y zK^ty-{Q|msKvPM6sA#35vsNT26wsb>f+3f&bLDuc*SH1W=^S3hI!~MWxNAkraq1A! z{ZSMZr2FJKUS>aA4Fe~T0dzhcdXHeCh*RlMhh@IWLzzgDRA;o?!smhKPeZ|C7Qsqh ztv0!(YYlPHTO!7%lrj21EQEHP$|sI>Lb#)Y4Qlg&b2(dCks*xVy}9e6 zpmB8Zkvu5L_6SKQf9J^^k7yR3dYKG|w(6ifCq~4i6<2_qib?yr3iGfu=pA~?x*mP! zJ}Jmb`&}RC^!9I*kHs`n)^@8tXOx^m<3>89*F2K&CODQ!CnC|4(V)}%y4h;8KI~@s zLT*uv2)t797?hyCn{e=AF1CpGFtc zs4xwQPbumbS*(jk`4T4G(w^>F@c#IifHBU&azVFsMZ{r>jC57${&cSf?hY-&o$wn9 z!Hy7DLxs>3K=EK+&<0991;K%~um`$N*GLn9b6JZ~dLt&|?V9}8L zx|Eq0bB5~(E_m%{&Kxp*$6!Gd4XdGkc*2y=x_3_KBG%e*W>~7bT)ete{L4>k3oWIF zkIjuM1DQJOjcM?JP$;le6?e=p?>di4&nt*N(OGC=WG^-S9TRWTw>xIzeUv$*zUdzeg8gRrK19P=~+a!8DWt{lFX)^tVY*{nCamWH4=+HF#b)P$- zDO)Vqde3qXL>KuuRanFtxI9-%NaFP$^px1R{J<#Ntr4P`titwQ;7o+ny-F$#|TDb0nGm+cc%=I8Gn(XQ=F z5v(2ZjyFxJAjw=sq_Q^q(a;ny8f?P%$y3{UO7M?!CzrF`C;vsv$8FHV!eg5tJ;
    1((_@a~GwauH;iwWNEd>$|5D7P&`T>>@)9ga4LK+2^iYSyf@!dZ_3wwNT z!6cl1(3V42ZCWxiA*Hq(cNc2kJ%s!cQN>tTM%e+HAC0w*=#HBWBsy{!dDw$a!>tmUCk*Dzm>^G;LMBoih6D$s0|0{HLeEn4f|F1VcF|t3OghQl4AsdV{HQxt z{vnjEFJl-#`yiruP5bcAR1<%2o)?X{NVfCPH5f71?esJ)>$A@>s`iqTLqZn2(1aNw zL&nzIX&}JC&U+7d1DGaPFvshxD3~Sdj=-NOcBZ* zH^Fzk4w58OJFuw^5)B>Whi2-Yq!}RN3*Vmi8ZzW`lQM>1EKx#Jo3qmN=y~6S9EVJG zkd(ype@H7KF+EH#z;rp;P>u|jtH?pQ4V~Trj?rIABAvQoRYe@(+_$eI>FNd2wRDeR zG*@V3M`I!qvht9vU_4B+0_UO=v9k3KHOr1O2G6JK&1hLvub?Hum(dK4C{Z&0r4n39 zf@!FOnNl!XoGRZuK>1b$8Q&u&BYP>Eeg)o?clbjCu6_8%%=61yZxo-n`L$&CM{1W6 z#+}Pn06zOmYKS!m$$E=N)gE;kfeRZlR`XKI=<_Vv9dOW{F!!{R(Z8ZGyrt&`EELuD za&SnfA)yWcJT08Jz)~WkRB2uw$2U_#SW-4!lChpKT=VMjAyR+@%{1+9X&#zy6Xws1 zqb9(|$sU#m8QlSOFCNTr$ty7m~#c zE?h-msAw?~09DXQ;Gqf%u$d8OG*^C8S%V?| zuXFg0k0ejz{)>>64zn77^dURLe_9hTssmZuev>Z2G$tY7@@w$9%*RdSN`^y;Js2=% zgr;A1jF7ku7QUBI-5ad-?(W%`v{4qNBgZOLQD-m!t5)72K09DsvM#$p>}9WDyh;{~ zMm_L|{pf*uo0SvE3Jj?n=D%qu5=C%N_S^%Ov3CH{B`vQr=ln`}6%bXglSE2e(GgmAf|x@E&f=5BPwdFDld!y&I(=I@Yu~4) z;L4J2+yxar;e*QW36=4MTuR!8y3bjE)j@xxGANAlMC^djG)YCSpNwM0=(mmTkZq<^?*2=tn#bF-!3d9UXr5Li zUSVTN9z1CWVW&3G6Z1sF4w&b}dZrFbDNV?D5n?(8UpoNe zRPqFTgTcm<&(yzL7v2=VSdxcIrvd&Q5PZhoh1qU`;x@AEp`M-KCYE`dN~=0Do6*C| zQHVy~uK3hZWi46C#FGko^+uoEiL|>$$G8J>&0y2t&v_*Du;vn!T-d-m1bNwhXrR9w z<+t?BvOnxlf&P^p(~$&D#rOYSk=7O2W7YN0*U^1d^lB&kQ*G;3D9LfTk7xt;|I4oy`{g zUYbc2B1ME_lXC%|nN8&2xs@uLQPM<-HBG`rOkPMQ*4J)5Sw)A}f(Ua=^a^A?A$G>_ zZKLE=u1%DOyg`BX_K{hfsNSt4%`x4 z$2=q`3ThBLG<;mG#VR@5MWp)$ejrKCxmG!vsT=Q z8=T#g^ezJOK>K}KFg=oxfSLXAHHnLO?|1w+9BKQkq@8#~ER~%z?Hy)QEra-39Wx$>M{5&cSSt$cyt(kwle7#YjC@54 zrr`UIRjfeiU|#@Gu@D?fb{;ZE3I{oVa=Q=rd>@d^rGBg1F9`1ia#xY_2)fj^1vET< zh|ybcLL9@`%SxROFCmUd8bUdL+pjd^W}*tyUEh7a0jKx>9vWdeG1d5%NfIuNxDgFCJ&ct=AA-xtk2)hz8B>5rN zN~(F=y%38T1A8CQ93oq2CC_GnK=GmGO5z+Qw&m#%03EwZQai}-nNk$3)P{Dkj+xA~ zf=so_jm)$7DpiL0*3P0^>eE)W$uL4+>%7OI#m)@@pftiaDkqX z{#ef3Xx6FSs?pV@3)K039H{EKURKx$a4Z|kd2&3;oZiqx{lf2N)JDpLv~7<$!pk!} z6i@dh&IcTeuFe}?f`;;;5pwpWKPj0Q%xeiGY8s?*eaTnN97mXJTDR4_8Ys`BlDvDK zQu0Y&G|2cC&Sv%3&1_a?!~kIm)1)?n`3?B630I#RB(%JgU*|(j{dZ;81YxkPRWK6`wxIf^;iEJhbTohil28T>Y zSq8ud|6s=4S91qAo8M^8@PScWk;O2zsLuA^X6;lme|8aK<^$$LC00x`)&X(jM&2vk zy_B@6!^t@@Amc!#vSxFRcN^Rya9vv?hRsMj7|$neNx;U2x3?lRb;0LncoXGg2f-f- zfRcPokid*Xhbs02p=5cNha1wITX8w#xoVTL^H@7_V7Ud+p$AfnAF7(8xeg1`0l_;R zmzmsG+~Z|7m&rO^LH#{-iu0tHg^u8aj)BMIJV#rhfCc_ZJWFj zZIe>dKYF@F)sIs!=zvrTjcIJ{euQhg2s9%b@vHW-wM`(>UZ<4AD~AF9$+%!rmnr3? zrCU|kCvD>jUZ`*oP~+p1r0J=DPwG}@_hp{cfqnLBqsnVjo%8ujnEA$f=Zzs~bcF#> zQ!xZ!57Ez1hdtt0Yx#gX!pS_(3|nQ@cV~Rqg>WjYWfl|&A6k6|(Ux2)ds2Tl=@n#< z)S3)n*Onk-*puSz{=<>{WXVXzrqDBh9LpXJ-U4LAj0QO2SG1?=ukybkN!3qsj3*~s za=Mu}i>N9?6tXyv!Tf}$y6*Jr!e&=OWW{K}*oW7!&5iwe(Ou$-9z>jJm;)?T)8!#? zT2r7>m8k<(UF0k0G7TmRFkh=pby5}`%I53h7^5nse%by&&Mdp12p4k;#Q%gXRPGxc z73M#xDa$8n*FMb<#I-8pYD_30)^rJ84E6}#shZ(h{T4aIz@0?&8aVSb@7EC(cdauQ zrCqBSwT)=>K_+=BA~Dm<9eF(wyXd71fd@D}EdqCw_aO}@kNQ$BGv3IW2Zzc6;-%q& zB!LwY<6#|R-5l1xKlUZ?yDaXEg2CwYOrq+s87I%}$QBaMqI$wmbsg~WcAkFTw1)F| zV5P_LgPwKaq$j^M<%du>VH@lp!+9*U5CK)3Me!9d35^9Tl(zQC>EZ`Kl0c>)V8MJ2 zjq7h-IAm-7FJ#OM$B(+JCJcw4&&syh&vmBx7cioyo3z8gSh$6s^Sa6?k3>yF;BX*= z_$>rll>HQ$rzuX?(xaoqI*e+YSxXh}!|obQI(uc<_f`%VCAw-MKFDXm-6*x+S> z>7?^%*(_>25EiXeQN5&~@-OIL8Iup&q%MpiNvV1y zOw8`2H82{zZbd!O1*q(Jqx^#mv{Y3ZVRtg}8SihLe#*VYAg~YvM1Ta9?nYx2_1;=~ zTBr*KFY3`5GJtr=Cp>Klyjf3b2;WfmvkY!Y8}u5t*f+@FtE#WRr#GQs3_{Q?q3jOw zwzOG5{{N@1ACQ+u-Oa(E1m^53_PNXc^2*uiHerd=7p#6Y6BH$7i5}PA3K(F7X;E4U zv03#CHv<9DujJB%IAoVs z&xml=`Xia|XF^|6DC{oN>_9wb5<8Y^L$8Z3SH@&&ME$3fSxTET`2EG*Ed(fYX@M}vWw!3>)`UpAQnSW_}2S}E{v zWUSl~j>5o((lvzrsz$j-;4w2OBAtpra^*ie>T z1CX#GCxlP===!RZ#P>a$#6Q26t9u<-Mx*TY8yuQrLI)AuT{e{$|41GO7qY~IOo7`F z)7)CgbPI2@3=?FA*Z|Pp?ONujYmP{<_K%Ashm6{t>gb3tz|cO(vr^2J^dXz7?w}v! z51_JsE7rL9>DYB*%7q9*n0vg{Gp5XOycW{Joi3BGZ6-n(wA;YK~o+?Li1$&eYzuS(oO@ z1SPtUi;HAik%cc*RSnBG7RH>{>|OKUp-%YuAoo;B`QYrRL7YhA;reGyMB8B8UDpAR z^Tow@-s{z~$8>$`U}vX|0<2v#XDR&}^$JIqRRqSsCY_eE_Jeue-?puz-F+MS7lznj z{Wl#di>L*S5Q9&&oo~JhbpR~+zV*rqft^s;rm2@|k6!a9@*_G2l(nP6F(eKw7QY zVbPVe#lbQ0wUaVzGR5LXRiJj7{=gdH{O5k&A{x?XnIDnV5vU8IKYbDbX`s zNVF)>MKf-Izl$!}cUz?B{V5;=6B29nM;%W}!yuYWUh^ih?X2CD5MP&*>{F$3W9#pr z086~s>x8d5QS*O^W5CwW$#s9Ao31286ab}QvGi*lIg^Ve2L(i%)S0rf6SB`rBS^cI z-5sjFbr7m&cdCWWeBBT+88nhu^2)5tkwz$B9nFla@{f=Be7J^#j98kg-pyA#FvYW| zVueR&U$8F_GJ*inx=O|fEuk+oIB=iZEDp1C4%o$A0i)Y%iC7_HZmunO&TpXd0I^ zkDzfG&KQW)3z9DwEfKJUSCeeecyrs>c&iv^p+dYOFz8ZHuM_%FRStmw2d`NU1jCok?i}a>Ikvp`PXo(=JhDz~d+F#JvWI=Fhgo zA31|94A5--)bVasvhT?e@E83!NTCcvO`U48NTJ~%^DM-YD~Zq|Ec%}2@&u~Rdtj=R z0%rwb#A5>EG8Guyy1$ObXakX0cOWQ}PR=-wwyUjSc~X>`1lw!wRo|-w;gc+QR*ktd z&e7-0LyI~Ne_)W~##7rjAYBu?2e1d?TfpVd#-%E$0`KLt<&s;wCZQUC0 zQxT0Gr`IJ13oJUOpFiGn&SC7{MYc#OTeKXsPfio*Hy{|ts3$o8`)q|qW(x4yQsog^ z<(28!vbs=tofK#te>R0cV@};!r-!Vgs5pDYYgr;iGJGSaz5hdW_ftt+v@IQ^k_omT zzCd^p7Qy7e-1c)&NX=5S$Nv-f9P;oraJpH<8Hilh!bk|TeN2jmXGzK31H&WmGQg=| zXEoF~=HZ0iRY&sjEKahi1V*f6;vpanNQ5taU2@+Fn8PAX1WY7$`B26r>U)%3#S>=M z3{VD(?agExa=+)XIxpCZAYxpET*Iu; zxG2bQ?O+$jR1<&gi>tr1JQZ)%hkD^bd*E$UngzLZl54b~n8xMm$++rYvgh)WB*B;M zx^)PE4C91n0_~Q<3z`5_(q8$sI~JNiLXu}(UoyY*rK#l40$L?lC&6+V#ODo;%e{qG z!%c`DCaPEF1#+l5I*bZ3^+erC z1!J}kg44t1Gd=TjmK`5(KEoVU)eDu~STKB19l!jkl0MoY>4eh?-Ysr_;xs z+3T_ZsMB#Mb$S=DnoT?*%0t&2;(U@;aTo63#HUN5t>%kw**shl>O^pe)^J6A1S_v_ zKU#F?Ondc)vg9gk<}QpatWk$OR$OZ^3l%@FRcty_^j1QO=1gvl8gO~A6cZa-&LU*C zmdUvZqCUuxj?Xyld@y7EuaCwhSY??=@RDL4x!epEtQOneUnEzp%%G70`4huK2(^$l zoMTPo8+mfZ)_7!4AZY{(J||8wyXNeD!vD)eVreMu62i;NdK)#c|89shVW0A0S!`Ac zyVNlb^_kY@Oetnzw-K2$nQvfxyosJpR?KvI( z1^yLT1G4W$9e7!^)iCW9Hn|XKQV++mE09DI6&t&d0ptO{4sk8U@lAhAP}Jfr2!iK`E8991_53<4*uozVSsHRTayo_FG6 z$#2I^R*74eZ>uuwfSy6}M3eB;I5BJKtKaP1pjBd=V8atWP3)zBc`KagLY9yhPw*oc89o#KtA3M0%nn)no2X`vF4?$xa zaRO7$?K1EvoPKj$LDd_2zre;|J4b?3hAtLLJ&<3Vkk?$PLE2Yd)J##|sc`V#em;t_ z40UgY9>OXv-Q=}i5Lcrrx?wLigNFRZd-c4BtwH<=RtpT*Y0*m8p{s>kFU-h~lK_7r zubBcW(%f=8J(5!J|zezXF)uE91Ex{@{80_2y;npdpgAS9GXAjiHkQ9 zcIklLjvz|3n5X@tXFzQiD^zFo7{Lq>VGAYYk3H?vB?Q}y=Fw^m!y|Axy6okC!TvOE zyc3|YA+QqLI$F_nQZ82@2NLj#)6?KFfK4TheSc4>dZmW5{VyqxX=zJOg-qV=?sr=X zxtu0ZY6V|YW60nYnFz}5cP%=?FOYU0Q7;atEp0$TqASLj9+FI$p0^f*sX_H5U(*d=4Qm~H!Fr>h=+XLCeG6+j5MU@?V&06j^CDvtjwjODAvw!aGF?MTPvcJ( z{4}K2aQ2N$_{UI;dz)=Z$K%f`$kLA;dx{Jjd;x~La-E(BOJW+$K~{vE9SDCa3{_Q7 z9xX{SL4e*4#@OVAPU+H}TY(^pFgqO|br@2{a?B98F$1JMnO;_h0kGnWPJuiXI^>qn z&+M9#Z-opifRDJ8OfregWf@a%QH%ycbOo~_*;xU(TUgsh13gx2j8?~ydI)jr{vog{ zIZ*)hE11q+mJtI(L6h8*%5mCj7BK$@l!!R$JJ@kDlekm78?J@xm9Pwz=rqNxGL)&3 z@iM196Dmp8)Q8?WYK=5_f%g5oRF^JP$;WX9X?xo_zo$J{BpX7hUjzwu6lB}=%Ole0 zy8=2NCJ*y8Bv-vb@lJ!$!**1D3#$TUwE78`5|Oe9#R$0mrlI-Ej=Yn&QX!zJ%EM#` zB$2E=g!PT!$sx3QG?xl)5+vO%Xjqk&yUE@6q5JhgG9rq8o2v6LmxGzlXjW-6A+=gY zSr8&&>fOOqLvyOY_kwhop)Yvk5ppou^uaMKb0;ZEF@v;wD8r4(@L+j?z7Kvog=4(2 z^p5fzfTehN6V2bNb+2&I!X4vS3wY_bq}JoohA6dmm<@}~kze>Jl$Xug4j}d-nLoh|!-2RHO?Z~( z71ez!1aw2xF<#l8sh){7d|`AtF7Cx*ott1Te@^oy7gXoC z*0@CD0Bvn}Ps8|j;Am%gTYo&L6=Y?G9)O9z?)Uck#H6;K9kYwKuLqn{Je)gs*X>Oz zC=JTchv(9m7^i%M)ZA_A@|Rkli*asot@uj7Nop*&CvxN;HQyN*H%{u_!IgVXXwN%i zT8#fs!s4F4(@TO1ZTcD(&`~}@Nz;U$<-wSilmv;=nhOp9&%|K%^~i#Z-1otgvYDpBSy;7pR(h(!}7MC1;;Mz|P+^?6jHfJ%lN%h&93 zl!+$Xb&pXKR|TRG$4zdX%(xrsP4s4pTAtJRFXjU&Qz+MOkS3l+Hrm4Ke$g-6?!3Tu z5EK$*9!tG}Ldh2G>fObdVDKgWkzCNIaPBeMHm=mUgKAwGj6y(7od382n0aq^O~vQ& zA!U6fiBfT_1J`R@s;@pRw7CR(`mqUZbw=h+P^Cw4ST-(VjQD6^uxDhjCOKd5pl+i{ z0@0%8pP#O$zgoDt*^|FHMNk?z_jAgE`{YQ5Z&+H720qqJ*4HJ_p+Qezr@GiUt&Uf*w z@!NvC+))#hF+kXb86!v+&0%2i+NaCt1N1xYc>^J>4TeiAu7F*(aosFR29&<_3S}<0 z!YL&O46WCsMj4m_f>z*PI>nT5G5$x*8HpmJewFn{Rwk-A-JEz6!+WQ`@O{AqruyFP zPQcl!-Xv{dC(7}QOhYlWeL&?WL7Tb=GUY+!#*!0FPp)ad=Q0HDpe{N30s)n;@0?_3 z8Ori<$B3N8!mbeO$sn$#Ct%JJwV{_^mK#aQomEEnNyka^Ym6UJXNId4`h+cUG}Hv% z$t&5wM*JGq`5f(DYJk-EM(I|*U~o=5jzM{jjDz0c+W87}O}@=|=M1E9i29c%Ei3S4 z-I!cx_K%zuLSmf2<_+Eax|_e*INyZ{s_M!*-al#-1?E7I?#kUKEP35xXjIF#}A*}~o zv_`tgNkCl!S;dVJ_|R<17ApLZ$>TCpsq`e{2kY6m-OCd6POkfVdJ0r3q)U|NPQEI#%3jI z9x8-AsePb(X>_!xPXW-xeC{ty_@?AF^y!2O+-Z;TtBCJ%f4K&6bY!1heeK!iE zI!b3VUl2AWBMFKKZQe|^>c_JIkQzn&P|%N*UY7qgnF8<(3UJL23S4>T2Q$&^d@cpqyMa#ChD0K*9a@W ziLFK2`!*Z^!Ho!pHA*YnU7H~yGxpbd6?=OEUr+#@T6CvVAjIu3cQ8nws9>rHZ9o4l zmL@3YaAIo?@WVf7@N><}e0;2!4x zbf)_;C&HV%eZukVA897P$9xa_60+{%soP#I(HwO%kvAQ2u>@v!)|+so-C0p@A)B=b zI_j>5+lJ0_wB85m|LAT$t>v${pzR5tGM`&Jd^0yDyHxkG{UvV@?n;P+9uE<`L}eJh z0#aQkt;5r`s4&=r?W}IEAp}DR9=t!$#qvKdRq-z$$4-bo)S`8OMZu~%0!>yfw+v%EI(fV!Vy?E5BSSoizu+5BDc^@c>s^F=j)dwXo@4nP1_ zd>RYOB;1Db#?r=I@?s`iKIp16t!oOB3%SBuSUu;9qN8O0-kamo2e~d{m zX@6!16smIUjK|oT)DD^4oT4w3D2zZSIIhF<-fd~T(BKQhIM)oGqY`RgcJD507S7OA zy$(m8yjA!J+QQ$e3u9KR=f5I()&CqA9-v>cWaDb*{u5r|T3UwlrwTn&9w>obJ5jS0 z#wAeV-1md}kvM7KLSB}tQFwMdMXhP-muFi{OEQrORm|-M{N!moFOyZ$jkLp0a9S7GfkMPzOmvr!n6j{zgE7AM++DT78kbfCsR{ zrN`a-*Enj8(MhZ)tnX0iMToTRQD@WZN#=ylW9pPCN1H+l5EpWm%-IW+CXMY5uldH5 z9nOZ6{U$ReZ`<30^0VjCZuWP7ph^dkDo_$S(gaN!vQ^BN@^TbW=m&AGDf&xYlV&TJ zQcOpJKjRiKG34)~_{yv!Y=2_hn3A28RyiXlzbUl<0bMF=PPWoa$P#5lhD&C~P)VZ{ z8>hl)6+#89wY;rNHJsq!bDy5XZNqcdOqPi(<%bRD%t%npPPd|x;6CN}m|$;xcvAwe zNnW@rwEo3zxvj-2UWr)rQA(-j>63vxM?|4&zxL-Q3Y7{7(kddd5^GtAe(&P&Kzhv> zV4-d(t)gN99Lk@-JmeS^3z@Bi@3QqGA=RB*DP@}ywk<97P+LIlYPx>X)(qwKkRDnq z&WJ)yFD@)Q^Ih)IF%uzH*iRyWj+Q2of6P?cBoa&r=8Q(^`Q`CBrA`60KTKT1w{z)DS@ z)~Y{mO*?ly(Z}uL99;z`M2tabRLFu`Q}Qr9JE?`3`Kdh$uU_&>?pg*ew&w>mrSCM7 z3bZaryCMo#ijLv)KR@Eda4(Q|+>$(<)Ag1Ej66 zE5564e)=9(*K@s#D`&8$u5@MZY{%$fZ0V+EDWwRDBLSJ5j1LCj73A->qb$ZdVG>#UgS!i?m@@Ttet z@Zs6*P&k94M9Kjgg@WfT@s+KguM#noP>6y*V?$OBp6e^d>#&~!cI>tEv`0mVJ8{kw z4JzZ_A}p(Dx92{QN^y|&jUly9_|fRM#M8@fRy`QBg4JuAH~zP=YFM`DrWXUk>;TY0 z-k-fg0Q!-_G({`6RJgoCyF0pxO3N{a-mg;z>ah&z$S%?|=~t(fB-8;!JVt0I7#P!c74 zt*Sk@Bh<@u$~OGD0*1DyD6m-3145hEY&%>@s-!WIqel8dj1ZrxicdF~bh#t4#1Hxp z8m@dP0h9of0G$BMSszW?za^#hT5~jmrmWfoxBQly)mEb+=`ie)9hCsSrNQ+SG{Nn@ z-gXCt#dh(~_nhB4=Ol7Dg{V(c#gDVSw?6HG=bZWt!t@g6;F~ z_fyD0ID3BU<#3AI+1J)x$4wJcwHr9n zy1)pnF((FFYwQvbP)HG3ZRc~cTaMwl#PR*_v)VboFKU_Xe2&hkDLOK9GKSW$2%u$` z?;YVw>*m)Hld;RVzJ>5vUi3xTmrLmxzI!R#+xstn^G`)Sul+Xc6Z;lrW9~hxGxfS_ z0%;(*(pj2Z%w3l5PsGMU#ay-1HQ3a>!`MB-);eA=MMcF{YTd^fbSu6S3-u9l49Krf zx{vjZSKLsPl=3Cc5l+&CYS=h*BaNB9V#tRF$M117Hmoz~i9|RuEePeQX$WzV1(Drw} z=1zXrE*pj{!wNPSthB~rj!?q>yD@bbdU(fUb^R{sJnOie3uF4HGHP40Kvz1R66UHwqT9F&Trv$b-Q( zadkcs)4{?+dKL=Km7^w8eggrP>Cj|ZmT8rw-2jw2l%e_1F7%L3h zFc?qMF2x3oa0a0YsH9zE0AoM^02Dwj5XXbjct9Yifm$|{fC7t=g(L$U0+qsKGT0Cb zB4HUYfOrN2NI(oi5Ex1V0MLn3z^nO_%y##|Hn*6S5&Y6@K`^h$UtVLw=o}V0Qj&oF z%fd+nNDOA-tT@nzGYj`W4~Rckg_9l0PE0zU6*8u*|1sRl`$$+NNN`B_!mg{eHsFkSbDf)4k;#2H=Nhiwk$6W*c_W^_rv z@m@k$-W@e>`eEa?9L=ky<=e&4ZxuDDm`%oAR%I( zA`Z)c{VK>kKh9K^1{&&%b5-y3Uc%TSwI?qzRE|eRY`|BpewPuNk?9NiAHs+i(;3J7 zBgldbSK>?F*!BiEhlVPE9VpXZbfJ4)E25CwJ13ikzw{RLe~Q{CfG|bjFKYGVXJel ztd7n$K>c6~3UiPM_&EN_{k>bG+JKA(q0gdWrhCem@jL}7`S6i*BZMiTWdA09BtRz_ z@T7_0|uPN>9PHW<{xaqsJ!Eg*7@rIHnPW#zl%=>=WI@V7Wy1|!3 z9-h+eUq48w8bk6XE#W?)%XFhqEB;;=wHeqk5V(2wY$)%ErVp+I4Q##W%~1wngLp@? zO_b#0uX^#WefyT`30i{PzB1nHHh-9RTd}n7~GSL*|lFg z5Ve67Gsqr`F%7b1uBlj1QFy(6QEO!k`QT>QYS`~kt_XoB(N;&c6T^S#&HnJ`IY*Z3 z*tg9yfGYUS?>LB2s9NkE1y}1LIdwR(kuqxQN8`q>z4j$%s}N3!j#txy<A#Kt?G0VUOa>1qQ z;6%CmZ8YFUl91N^mSSR5Pm8#X8) z!B#g{fq_)l1*bW^8QJqTcimAF6P7up4TBj7N@E{DS>5yf&TC9r`-Q15nXi1NsC(NkSq-TEA{17%g@GZTs#op z@E-l61`>2Pz&!jyc^#v7n*g`U@?ht1nENYqaiP9uYV7pRTiE57Wf*%ok)8!dK+pByG%XsDfjT2MrreKpbS z>BD2uPc)`_Al0=>CHA}g$o?f?!(>I4v_Rm_#tz{pr|DnFI{+mcGtbKpNm4lbxS6cL znZ2CsBENk6qfMoGvq(Nf=lY;3`~>8>LLI5mPND1f%h>QU9%Q~CziO-J16J}&4dpZ9 zI>ONtp76P%8&Qb2v9$E4=Z!ceQl|b6J_`4zkL}`x0|tw=7v=0j_!zj!%>#*b$~u zyFbq&qzMdU%C!ZfLYR<*JJI|HW3K*eYZG_z?q4N5#c!x>EN$Er&>^bFwhqN$b{9%@ z)(3Cgkn{Mnt_Ln}&B)mRK|sF0d9^Y{bzLq}gcY{2fVv{y2*nd#4K;%~)_CGEW3r($H6K7IB)(iie81?6+5nRfx8p!>JWF?eaodf!~ZJnq1#T43ga2 zbr}Sk5{4!W-CT?#%TiMU)}3XUwQBQDzEqr^Wr35EN*&hgH^8Q)IeN$Aip-WLwCKFR z{9~nR9)}L%m5pg1i`-{>R$_*LzSYCN;VcI?arG^0t1$WWN+{2#obAqt%Thv=9kIZ} zR}igcVF9Wf?7XyUS4PVfiBPB$&Uajw2;0Z$36tFHoNUrS5RPdSQ(jPl&&{iu~aAY z6Ht5Gg&Ov&osonSc`#3*`44>N{b6<1$lO+Cu$9we3o<9_RmRQ0h8>9;mouY7I7g<> z`@V<=wn)tRjncBKgO0caiPwS zb_w3FFok$d03w2P zY(MZUZ&_6Y?0USG*Y!wn_7qt{=-Hm;K%gMDh0bCEMjZG42i5@e{nVko#r6m|9VYMIuL61F(-G?VywNxwS z>A_gY&qM29)6wD>4L-5ZjCdR)Gw{sCQy{WVo`TR4Zm@IPM%`Ye0B_jXCug8oLo`C$ zLWc#J-dnsN_K zn?J0xjuzYIpAInY^&!piavobm-ljJrllQ;t-LW2&YuiuBR~5AZ@cAR!|8K~lMfbPM zT-5@aO=>X`2Z=c)TmdXkM(lPE`Y1R| zNF8bXWe6ESWPy0xFRGz<*W*A;du+L)XYGkR_t(IsC|oFh22mOL0Rp(M0Y64UC(j+A zdacM_%uY8fmDVsVBOgu@0K|2OciTsz_I+muQe4?#6UQjal0{t>O5oPXDx}h9X55}j z>Vw2Cj$$247n!&_Q!;?gSJxY&{8NmcGU^)?Wa#e3Tnjm9f7`v^-Xoapd;RqGYAt%v zR}n(sfkVlT6qNt>)k-CTp*yve^cZEG$ZsV&>`!{%-1=tq1njW zXUjf_`#H3W1iJq{QJQ8#(A~~#_dyZT&vMWc&yzp`;>Ln*>w^TaO60@cA0C?|+(GRG zSS=$^KDl=J4FR;WIhtB5cPDN{TVuCmE1||ZGEb;X(rt2VaUP6n4+EzJQkT_|$D*1^ zSxl5o`K^k2UP4B;gbB|1^s#ra&xf6mu9X$mCXhp1II}awuu=;<)%5IlqV#X=o}@rr zw_FzjvqUZDBKQ%FXxCkUqFQrgqrw3Nt71Tqt{XrhphO4`aIOl6Z)>-Qh7=`*H|S-^ZCIX!FK&KC9$L*u{C_l8TQrp< z^e^-W`+Ns)Bxt$QDb~CE9TXW(HWwiMr@e_Z9wtB&>1$dP_BT;(Se1&h6Sd8d@W7-Di;k4KM?>3v8h__B zeA1;YQJc>hUCUs$jqn=Q@rSQ>YAY4tNnALB9r;TB~+S!i2rRM(V-=KzhJ=D zCcgen;2rq1`r6Pdg7|EZmijUhV|PXmsaWLDK#zEpZhR}Bk|ZYy>lTh_^{8xNrq6RA z<4=!R%9T{6tMU2o2E4#)k4)= zv!hd4WtB(*pe5d})0{lYN>hbBGkLhfA2%ZC+TR~s^pZUx3ga&LV1ZJ+OGnNaCc-hy z)=s);Aj5it?=(4zl}bA%2k?5aOu@_4C@I^Lo$(;OHu+mpuEc_2FS+D8LwIv6{};B5 zrQ%U*m1jA(;yswan8ov6xRI5!ov$sCctO-D=kO_Z-9;!9Ihg!{V+J-1iUyWB)z%8t z=(2p(a>fE7Wq-P7J%Od|W;3MpD%9Up$>ihfB(PXv?K^L_3?bvn#-e8I_z_xfhvknl zg!m%V^vdq(Mif6jx{ zwGsX2Dq*yPT3hkHjeiHnuVDu4<>*YfO)~ZsL!H(5Iy+L=r1K1spPM7EwKRv^u&k_` z=+eeXTilk5ucl95fK`Q*Yr3QBF3H$v5pGj1_ASN8_(^2ZmIRlOBgGmi zhXbm@g-h-H(}MO+!VPuSrt;Z1h7P$<5W();wA+O$j)({4dqT24OC*^WT+^~IA0kA< zhJtqg^PWr_{A1GVkPk3rTi45U`C>7;BP?ywNWMehg={s}x@-Ez5W^^KLHP5%lF}st z{Y7WKW%#YrgIW9!mX&aurcnWDCWSF*S9*O(BYr)H>ftnn zk%1&9Bls(NT6wLwMB9E`?U*gEgRt*Zbv%7frP4QqOz!H91w zP^LlSlq@C>q4{B0aQUsss_Mb4)7^NC9GWN7RDK6${k!XjhYE}q%U@g2H9}#u=P4!m zsDPPk>U4ZD2=m&~*XJ<^xUGYR@52EF6h#n+s^K&Bp3e6>KXWz#s40K>COmXz$H-4| z@Uy}lStDlh^o#qC*W{KQ?5N->Y=Kc>I%U4*4I0ClNvDG&C}h;p>y{(CV+QjXnK{eN zCZZ1d4(*Q|N=pfkNJJ*BA@voh!4Q1-For|K*T6wg9?(K(uORdln!W{}DctT<+JoJ9 z=?phkMN#0rqfUK+R>U`}PUzU|4{0zMFg%?FEv@Z(3d~BcSsx&Ril6W2npQ1YJf~~G zZSzp8H$XI72(zxm^M$ur*TN@S&|1`F?*BfpuIh*w4DW$Q`r6_|FI$Lm(31Z$i4o+nLS6E@Qk+~D0dPIK(6K057mjc#c%?7XQ zGYxj?fp9k&NL1D`GkJixXLj|3!Q&YdNI)jOs65`ceu*YX4#G*rHW+!ClVA8xT$qCa z%zv-vAL!&2ML_4jU1|ImX@Y33*rJXz4eN2(k|WR^KS>8~3tgBTNEAoCW(|oZXK+zg zt0bUt=!b%3AuZh3zZrC#u^2vY#&_gL2pC&S7Dc`um16r`Bo8>aA3YN2E>xzfB}eq1imMjif;k5n6t0iRoHwyOWr`R=eYf zLRMO9?GR%xou1s{FNac;I3TzF%=1=V5z+uGL%YtP#JQ2zw-qy3O;3gyrkUSE`c$=< z?}P*nE43!jzi2)t88nOiujQ>8|_!svSeyuZwSwApuzho)ej-_a8h4XEY)&fh>N7Y zImIEP7AbbwcMK70(j=82nKQaDa%T(Zd`tnr_u#mklra3JfD5Jvqr#Gfa5jc(hjf5I zdz0wqg@;&=N)g<6@@xn~(qMa+@B^h_T>L;$!S=%(6A>dE&Oj5SCHs}ZG~P6!il-(7 zbn&QF#%J09UH57npnF{j1H2P^HaPL_114_L&KB_9?~je`LriKMWB>$JPN_Q5P6xPg zz$Y`Xtt1(d!BqG}O`;zZ#@MG(TVMyaxHm2*hR)^>F?G0e#0|O&jaI137nZhgLJhE& z7d#`#;$G&NcLZ$cl(Jx7h_GF1QUc~cNPDJtp^nA|6_AE{g+=jS{$6A44{1zz zr7)Dm+-obXc@~f92H@4%w**lYSqEf@QpK1^k1s?YDSWpQ1Ox*8gwh8i$5X$ovH&5r zU0FRca4VTbG0L>A^^Hz>_AJy+|`FZC_Fy6kW}6zH64eKm1Lgc_&1 zyu~~*EyXIbn6t*!xiQ|n>qm!-v20TvR6Y=cbrq6rxiY~=y?`Mcq_1#iU5GoZ)7HQ{x5I#E~&l^d+wYR8J zCq6)(y3bTAvXjZ^HAx#;@&hP9tG4r5H9+v+gFO{Qx0WG;YRKBN zhM@Ka9UpB#&AC?tw!&e6Q`-a^mpVxB0k4++M(QVuH@@U9@U-qBZ}2$(@}{cV1s}n% z|1XPfZ!vazZ^-93MRWAt)hqShKq zPnTYC)|H;XtGaycpp!N>)|GZ;KIVD!TE_`|8Spc(q^d>CB|yDku)Iwfv%p5rePQV2FVU79fzlFX)1_q6P~&4u~U=*H1_v-U3I) z<4gbAFQiGI(&$tES#2lN$}>PcIdpngR*SVni@_ev{~d@%ICJOosN)CqA2p1`!YqEU zvK4GEh+=TnY!kjLcobaY#!K5Q4xv>9`ye>jFW7OOBI~#F5>*EJN$Wy?-JpP5Bsd~+ z4C3ort1K!uDb-eV(#C=c5ViM|9ZM(Na=^S5{F(zVNY>*m4M?42DYPIdSnNhIWZZqn ztSdN;f*y&plI2i(BiU#YmjsDKfZ)(p-(u;7AV`!?eZ?Hk=0&yKvLwepce`);%+w(r zk&B08K2r?}$(IFN%92_{Bt+ln{qW^+{yK31epg(cr!;K);4eSk8FTcNn^b=t{Dx4$ ztef^;k89+(G2-z2cAm|DzUwy0`xd12T-OQ7*JN`Ul;+57Hpad{Vnkb(tH$^l0u@G6 zIfMk5le?G*k2kNb;tl=)eh6!H5A{?I73O&-tw=@PN1YMg8O?r2GQD1fR2O&C{D^t5 ze``1LoGsO46UGFPdEx?2w4^uD9p#E{2WmU}45COW=O-l=Xyyj@0sw)#dj|^{yTm|S z3{7ba&5RpOc$qdY6w{X0yB%8FPDa0!EiygvPCG&+nTO!ISqKf5zj$6V2b|*OG-T6&^nsv!Ph6n64(_e{!?MD{jS-`+l>f>U>5qRKkr4 z_*U#~F+Wni6U?BlI0y49RcXTRxGVEYfMf=i!GP<~lH{cc9_bbGDuTU?6SzLP0H6dd zE#c@9VYSTznH{VkAt}5@?|MaJ9x=Mm$!dTB zmG&lIb?=hccC!&!pOH)N5_{ufUynS9?f1r-jx#IG41F$s(jyZ+13SWuZRB5j(hRJN zJ+wwtLqkq{la0qedn9dgl@llNf1-~p7}jZZpz z)*Ev1Tx;i9c~E+F zs>JIJww$JeW~52a2@EvHGl&XkV%#*H98(PF@c(s-I*>K{{~mJejUK zL`=eM8{tKc>;m`*9mP>g2@7!X;?+2qkG!u2-enI%7g8}!@vT61RnivJoMTNz29|V7S&kF^;3Vw3Lr=b|oX~;fIX)zxr06E& z+V9PObyw74mUiTOQDl1Xu^flvE=+!Jk^DZ_u1H|D)Z8;u&&e}cJ~43dd*z3aMh&Bw zI-&HsHZ#2!d4lmsmC}l|%U{12LKJ0wH;VV)lcH9>7iaGHU9SKjP}}=q0U_M`UQ;Zl z&0AeuK+QAU#XMl?{4?9YLO`&4(e3)yCTY;*slcB$!7-8kK*EPM4Tr@;(UtEb3A6x1PzGo2;e4qAcrj_rVH@rX(OQ-P=sU%~g)C^A^(B3ve@t zihUFkI#ti{uzRJ4&6)Z3Uu(3k*r2kvAVnkA{JPdykPRttpy~o{Vi=e5nlC_~+O`!X z02_9C-4{k~9Pg`c@Wa?NX+zZs9&gJUGTU*?LMHWS1pQ~3y_96{dev zrFGlnIB+8L)EdJuylXQddPVj3?Zx0A8~=E`aPt~n-sm>k->hkla5W=T*jHz()g#hn z?jV%-mp8~YC@Q3=@j?)u@U5`?GDvs{nPpaMIun-g8uifLX09MIm`BJDByS{xfq+7= zX~KlT4RQjZb=6_VTIY;vMUm*s1Y}-xb1Y&>v9&T3xC+=6U7C)1=`ZsFGYK(Zhu!)d zgE5hUAIt|9E8LCiyU^Q{_xq18&}>092u3OJ7N7kNlpl=k1QASL)dbn&9(*)kywx?V zn7u09w3>J>lApl+RryIcn1}}K*Vbcz)qflWVT(?ctK8V_fHhAM=STe>3(}eG+<9r) zRoS#N>>1^XJwenpbYZh0e0?DLfG2IlCcebg9(ujMHcvRG$OtW+2-!*5_3-Dp+!*VB zQYcF^t~Kv6FIL1~;cCmEJV5h@QBL%PA8IBMIfxzZ7tu!;P8_0dyA#JdNPFqvD!Muo z``CjE({#iv-wn`nm~0BGJ4V{ez}m`IKG}gj*Y|5_;bH;0$!+Lcij=nZ93}8rdF&^o z|4C?aoNNFRV)1L#ARyij7jz^EVu+GExSy;nlzTSh5{egI$#bXN5A7AYf<2A0baZAk z>kVmec5Vrh+|A-%4W=gf)U3Jpu?*asAfn8ZRNOg-+`)Eb%ganNGmg$99Bm9Wby3W< z+=gK<`)k04Cp)P(+j#(4nX-(Y#?(_+Nn~*mm63+tv+|_JogrYiPE9=~Zvd5&5%Y!t z!IxGsOmqk6K?xm+OchsL+q4L_RFEd-Zd=qzX`(QosoR3mp-(FB1@`gQu>dj$e!+{= zP`pr9$Rf>_jZsG>~6dDd6F>OS>fX}dha_^B1g*h+B88aJ$Q4>Os zl13jEtfh^!UF4`g&B>`@iH+*K}+<=dzqAbN7um}XX(@X$1VH#Vj zIe7YX*(8aaxaD*M#Q?CBjR-uGZ$Vw8q)9jJL61_e$LMNtmb1G}^92j&(|H z{C%7Ww|60G`zbFq(v2>iWm;c!{2?u99~|Z8R<3sqZ+~04y{@dSTzoE2kyI-eAjo^= zj*zxjuD3&g#>QNy#c!N;`s>!{#^HAfu@V~&$p@bGYg2_5pdaOP17#zD{Yj2OevKfo zN3>Z&YQnE((iqx|_p#T%H)N0b>#`xqnnqxsKlo*`*=^I(FZf+?OSs2sQo-%QK)P8v zBREYBy0RdkLXP=ws|Ku}ld3*gg~!juvSyrUS`qS=;EiPL1$I&`Ja*xl|G2pSyS4O{ z0!h&TWJn1eP7=B8UE$AXqbpTaCj8gd zg;>7+wKIkf#Zx74y|$|XGwZbrg+zu*w_{VR0kv(;u)=Pw&NDrtb8YK~xeI3UK)ucL zlr=UQ%cuvuQh)D)2o=HcF%B_ZR6A!u+`*{bE}w#M2ZCsK4K0P<$Uz*dSlC$%iNdIW zMY|=a087lhuk3bpWfy4m?(zh1v;>!Lo$~K&o86V=Fdy|WL+3I0wo^G(M0f{txyftr zanDv>kyJLJyp{+_uR$MpS2OvKSeS2e+)Qh(iXc-r&kJoA%bp_@xBTlj8t8G+g9EN4 zrjC?b7o2f~w!fd6y)P`>=%I4MjNXz;u=}N zFPzdHWb_a2Xq}{Wv?UX@##O^KhL!y11Y0I96&}NYPr=>ugm^u)>-@xheGH*L(bWdG zJu*tp{d*+t1R)ku%3@;}%?>nyDl`%*7lHK-$}7ER#xkYc#m9i#wlTEP}l(CKawl^+qK7Kg`Dj6)F$k4S|3B)kYO7N3fYrZ>;Vdz-+! zm6m9ml3k+{i+PT@x+rIFgqEw3H-$#+vg~=fivEM{DGznZZP@i}J%(gh-(%#fIe5%%>y z*)MhXK&qapPig4xObJE*cJGF;js8y63Xp!5p~VGa4|RfsSwYpe7`4VTLb$`Unve0% z&A#G+cFjNuGy1D%U87n-RL$)hHSv?fPryW03$@2)zJaHMPNi@ifLmpk6QbO>Zxkxw zt5utV zokm8?l{l&{``iS{tO7w+u?13epR5WEf#cX{WTFI58~@Us?f_$QFC!QZfpJ{DWLjVWKsh3ghfjUEl#5!BN{3(_0z|Hg?e21dXa_QUaxJ!Id zXd`>^TAL(uKGseYe~_k|5N?&{q;kAy;p7RX=XLn^DHfPnC^KOp)WJ2hFFj7zfV|sqn+@HE#n0y&bE0*s#htQwQm-m-VP<9N_6w6Xlvxl zG4N|0*iTgxs#>)mb_a4g-b?3Mi0THW0fKd}B-^tyYG@Cd4e8U7+9-S(Y(RZ`x3Naz z8V_q7>7GU?Fp`{A1<*TnVbAd;*kexROPI9n3~_3>0vsZZb&j;5^#zWzT*#p;LD}PI zCANUL)lg{PnQti`pf&?Wm5c+-~ z2qK}gwNWOw#SAW}b%0Ph2}J<}2xI9#sN8^%!U~cH5O`%6AW{SraUAR=e9O>7~Glwj3(YDU3Nf#r1cJIfSm*K9V=NV?(Yl{$a zwF<40H5i~qeb56}qmxtu8uJBsj!l689G@)Jnjb6=&7hN@lezK#ZRnt)p0*fcM*c+_ zD-XE9Fq&-Gv@#ZIWd3=c_-V$j_{FTzXox*-iy=jlZ}()6&P|0ld-P4aiHvGr{U_{$ z_Ta9mf+?D>);!$AgCmzSu$-*uK6*wM%v=RO>ZTQcq+(9JlW*lziFD$SL!tJ{%H_fi z#8kopAh(ZBoU?Kay~77UL5j}a8ju6fXV1*&+nsi#fZb)CJg?6-t7QfGYWY%bql?Cw z>0g9|v&>wk0D(O#RCIY)iKNCQCC-SQ)=xJ@E3l>OD@v`*yUHtoPX}%y1Q5%%KyHK@ zX8qtst+))Dnwa@AR$~?&O2{RXfrOlvcE6tdFgot4Baz);SOL|S@(t_*AUnbVSl*i7 z1*Ur+8nH;am*&C|d7Qb0bK)>Q>)>^|UT1}bdM9sin_CtHd!atCDV2fJ9Nq63(o=;pDp|dhUJGq5_2NyrcdX^h-Y% zJ}9lin-&LR37#S}6*JjdutOE()Bne#NEn}_Rr5h9_BwR&uZ z@ zj&Q?}x@j%@gj%I_H_2cXf6N`|^YsFtu4SJ~c2aeD&~2CnTN}|0V>c45@LS6{}Mk+1J50otI?R9Xcni#GisMC{HN$0%viP5memBbrB@HSnKnZ{ z=ADDrXhcPm(aOtrR(9P1`ZHr{F?82wHUns5R^U1m-~DX8W>nay3$BL9{pBt)Di`#x z=ghz}yT@TzzL6m*kM&)$FLo@=N+5MgL@!9qesC;9@K^-7-X+X>>6V3@3ji}3l1Lf^d|2_umD2_Cea@g{RvNv@QUFf`uE4pQ zwaEPY4Bc>=CNF%`mZS~|4Nlv&Gm)Wcf<_Ip#_zx}z#vTGmnEXLuJqY(uAc_!b&pc= z@IH;TZGfcx*xvjv5$p;U*iFxCIKn&G_Fi}frEi{B%+fZPbZx+Z&ctM8sA%kUNWFkuoEU5d43ij1SUkyw>dzMBt~Bq;t};y&zw`ua z6aLO1XHPiRZ&TZQlp$^9lno0WC|)M_7x~aAz`2kgiJ(bpB4 z^3)4nVYwuET}2<-jq12`iHcPzU87h9t+FYIMh=BgOv}hGSaTCtZ{KGgXjfu76Obub z(tgF2nsi$Zii1)Ao^B~r;!dL#(4B|nnQHH-26Mw`l(7W`*)icgtSYWkE!)*yV;N2+ z_uqahEMBS%*X|9nDiWsW@TONT^z@(3^k;LAC zR$=B_;t#gF0n8#LW#u|DKxw&V)J|A-q#`t9cYdq2BSWT}FT2K17$rdd6*V`v5o?{M zn9P+mwV=X`F6~`croz8F*V0nlT~2$dTi0S-R?|RG7fsiWwgGC3{fcV$$KSz(H`_ri-D1xem!h_e9$Sg;!J9CMG$GMrz&XC%$|UTHR)W<$xtT3QzmNSi>u!f4h^2{_Zw zr0$YbSENB__A{V$Fk`{x?V%B*V*bp14-zw4`|Ax`Se(u%!qJ@S4M@n0t%4M)`>^$5 zBi`%tFm6Av&yE!M4ay>EcCNGE*ylt-Xe*wlF-%8D!sTaUEfdH-=iqPnB>ouBI@ssD za?S3KMj~2ijyx!EWV0qjR{8|Ho4f5w*TU`SPY}m7~^uPwVE{ z#qFn+@++B=gp=)fUmJA~RuFhNyGU@OGD+aq5{Bl;)}&2aB?siFZfi|LqpB)O5#sd; zh`(mHGD=9zY8k15s99UR7GC33t#hRx>Q8$od39T_;*hAE%`>3bltNg%gbNMmJ|YW^ z@KrR&wx3fJMvh$%mp*S{hm2;>wy|Rbs@}Y6A#RA+AU4r zn$E7Sw0j>M{LWq~vDTkpHVd00?B zOnnE12~9%eRhd~dXbQ{=miJ(;O97A%ID;vDVNIV!F!WbRflcg^74$ACrxe%7E^m#* zXQvA}$Y=Xdr!rrgKpO_+eXV2aHU>6Z;m%;>{yYzO7u`f3_F?V=;DKG#{um-`o& z(Pp+%crYJI+hN!SXq71EkNd+AtYacxI{XnppA;!O;t$*{8s|zOF{^eRU``Z}>vVJ&fnNuI4y&(I8(yW6>SnJIRc1)8$nqBbmg=vAwvL<+8PqO&YjgbcVsZYnWaWIe9MR(dC^o3E4+r10R!#We6wTZlMCWwlxaJu;cb;x{FAT@E z!uK!7O0w(FR^;I$L`4JuAUQ|XH9E&9`ZIjcbQ@jDFlX93Ig&2WOj%-V#DF84f;yhdwtwrb<|T5cF1<1}gw~QNCO{;`?)BvR2O@(c z03OhA(2@5A1@LvL5PZbKt^zagrXbzyBIU)yquXw~Wa;GG@6l2-tp5JB&aFde02H7W z=;*i#0yk(zhZ=BYAO_v8aWqSpz`zQXnzKs;C$|lv(wlfwO?6 zw!@QxA{du4k)-=q-Q$T&2?j_P*gVJhSV78#X;|eTCg>u00WTFVSSmpTf=xOExz656 zgk`=3$bw%=_J38y>qn-E?9=g5SD!HCFV`8qx~qv0KgdE<{@ad zYxd7IyK1&KxN)niOiy^Knh^=a22AAfx1-E5j+nU#T)tm~dUI~l0}`GHHs9t-$%bZF zCMNoF&i@GjN@Ace)E2ghf57Gv&HSR9d#k^QU!*1^?Et)>0#W#2_24P+nluoZkS_g@ zDb1T57au%hh8;+e(=hkPh2mgxU|L3((uPPoz(LKB=Kt;m<{q=dx-dDsTHXOMt()C^vcmc^9|@OQI_!^)G_C{; zp2r-ilW4)eVBM;Gy5M$S70#YG<{fi_Ez9HGvRehsAIVXPX&3C)Y0P!~=(66-h~EV; zPtc%A>9(}NA}&;x%ajF88wNBDb5dX3+F^jbuyBVY(*sDz1Bq-QNej0UI?M13Wm;d| z>??Ka{gl!}zB;~@)=`ro#i;>l0R-N4{)JP7USKLE`iO7UnQA}M6yk{@pnbBJ%Th6{ zc*vQFpac6n#6o=qJ@6A3e3ejDBMs5N5yVbPtdG<5k0YFw4`fi)zypdg@o*<;KE%JY zF66FYSLCTu+7%63ZY}WwVB$8y#KL|Wi;qKC{3Wrm<2qy#ktMu5>e*v&r0tG9FVk*b zO|lA8Mx;HOPY7N944e#F+c`z}7qjn<>;Nme$$Squ<7uHWxV1Ob zAE8X2O!~pJBw)Sk8XV74z0I2zi9sr|!I-+u5?L6q<8jAnfd(rV?{Ouxo7B4;S6Ewn zzX$U|5gjnrpF}M#8=dGSUaM!!8E%290mOy??5nQUh}JVa2mnhmQc_sT|L`EVclC5(ZE4YG&z_q_4`mey+IZ@6w`TCf=@q zR|z9S+>!fC|Dw7U_jX~7&8Az*dV}OjW|2)a-laJKrE<_PPvsN^f>k|ep$y!_^ttP8 zvd13+zV+-_5lMIHQ9e=T`&aaO7&K|#^4^T}lgs(R(+g9_NP|-?hHNVd*PX2@!MU^Z zbgWUg5*YbbdL_gl7@s^XD?uqD+`$k?%-+E$3lYvU(*I1m(>u~9X(yktSa=7BkOM2H z1MP@-=R`e$*Gno4uv1FWPZ(W5jvApLE7{P-KWO9E8zJyFsS@7u`RYtS|5!XwyBar+ zWv9G`x79@f%zcyubGT~-hUhRzOcjvC@f^%CIy^XJBQ;vAD)@w`L7#x&NMx zF-#W7R~w(MTE_h*Fz4}3J`Yx>JAi*kL35bUa)iUA>+tPDO{2)& zFZ}4mOT3VwZ=tzzG#MZ!gzpo{^p#UdF2cnv2g5I$O##nycM*T!lS8%l^kYf6XC89O zhS73IRzsKYbO4(WXF&K?p<1pD8Rbx;8Z(@4Xdwb6Yt~%+xy~OK$A`cGl5ybB!FVi8 zYFJkzBfPdgN;q_k3#-W$9jwJs%T;22WKV;(pni|5_)CNco+M2|pxe^&BJaMA_L)(Q zb^a54ZDex#3pYGgnhF(xpuHcUe$ZWx&f?#OhSMNO9;jr!dE0Ua_1Mlcg`>t>@;wyW zWrdXCj~9Pcd!ylVqzr1z9RD5}^m1pZWCJT&#Xh*d?UzpoDPQSjZG46l9O9Ew9nub~ zdC{p!o@<~MA|Jk;xuCUl;h4CC-<1@kGp%HXx}EeL#`hRO754@l0R)k!@GeY_lzvdZ z0YEPkb}R*%f8g7&c#D+*=~K2B1Z&mmi3OfVtEH)`5U(_Kd72h)cRcL2@z2qtD><=d z76Ta7(`=I(bq_%inn^j-#kP6cwJJNm4Exs9vQp^=qw>EDeVbZXqiv8d~0DCDM{BaYb5&kCbIL; z3m-T+z$wCZ1tWux0@I0+`b(g5O(F>SkCvC|$$O%ic;SC6ob#{{ZE2zC_b}!GAR<=L z%473uBPCUAK5D6mqO8B&tYF71R7X6Zik4x5M94+$U37?rh(3hNj~ujBh+pswZ~>+! z7$aVt@{x`sWNF52kt#@3X*H;(eiVv@T4l;tTS@$zST>l#%%3Giq6Raev$0sdBMMG% z0Uk;HfsVxqTB=P|JVMSk|7P|rY!I~#2`9Yg&UJF!W3hV3Ls__r%ZU!{dP#%-y_T^l zF-`Lk_UZV2niTaj^@pS}sfYm=n1;n!Tq-Dlbve5)59k13PNr8A0aq!l9=%D^5%l)k zfEt?7r=p@gn`IV~>X>G7EAl|+(J`uhY!HPU>Y!r4+&mh-=(&lUl=OEnLGzn-DR#Y} z0muUH{k!NAA)8J4l<5O$o<}V9+UPzk^xS^uwrdy{o%KKcoDS1K3AT^p$hT5h&-GiN zM;eQH(%F&Ej~a8;*h$9{?P;=4YaKP)=D-Gj%1Ad~kflO^k|nXZrc*Z=O=2I-_cFj- z%{^>ah?Z7_mC9Ur2Z#~g2PZ+|KlJZ1CmM-^dJ7c8A(ih#8g3Bh)?>b@6pS3F3$*N$ z%Yx+Ej<)9{QzQLOX|5@Wz>Jx_L9DE3W8E5PFqtJspqFm0627G(2$a=W7S=tHq1A%Q za160i$i_)o6K&)gouR;6S;d_=jqdp%g@j3?x z7zGmN{gOdKSoG*GtQ8XK+t+_!=Jj%a;&3lbcOYw34Ua7{Rl*`*lYkHyGdGg6H`$>m zRpb04+Eu&-K|CReuq@V?M>2==1nZT$sLdF;Dt0`8d1F?7gT{!Q8rs|>J zWN|yRql*xLxif$z5Ad9#YC$j$={zeVn7ahnEbV)wtJ4X}%Ao@gj#@^`(-}EKadrl) zY3W5VP?Kk}n*2VQ?=*XZZmZHx*|CuWHc(g*rdIPm6fJ-xMg^&g*ev+rbPp^C#gG?ONB4sFyRL^)FxXx?;Z zwFNC$S;71>AF6Pjt9EINWS^y6-)5dHHlnavu|m?QtE-HEz_mG)Fq^<8hL2mH!E+JM zhg=oXjN?5?Ri<9`T0Dt*JAe%UNA(jm@G`lG5(C_y(`)J~i`LsHKE(HQ%oW1&8jo)Laj%h@ zbomDxRspqZEk9cVVoDg>_#W?>i~%q_6_%W1boHXpp~QcV zCoHLT1|6XmcSx@X^mS4q9BW@-tH-S~WkpWC7@m-%sXP$Jscvnd4boXT6SLhCMv64a z$OYzI+bw58r9z&xP9m!*1xFG{_F@rC=Rj>Y@Dyr{#&kG>#a=o*9>v{^E9u8MwuIbsJXL;6=Pus_t>M>3#ZhL`RdPz%5J*&#ige{7}T4%%_Bq{=P=n zuYI4zQfWgWg$YV?YiJLp$mTzb47FeqY^tdAG8FzA5o<$IKOSZuV{fDrou@&P@qAyO z9Cud6K56OcSg+mbRTP#Y)9V@#Y1{uBFX$D0(XNK<3u}<0SD)&7*D~Znm=peY&q!*%D~DuJ^Gu*&BkWz|$#38Wywth? zbDr6|uopY%?#AjRTsj(V$Ma@nj?e7}jA&v{ijCd*Fs6 zYm!Y9kC1p#0^lF_Elo=yMme5P@>AZ~#I;9CE6Qrrpa10%qZ(+WZ+CzX{_p>^8XN9UNWTv9vL`Z<`@GNk9UQcNhhN9H@Pk+U8i&a9b>Vu=MXp-&QfSx05{}0tUE7o zlvfMFX{M-993^TRu0sf3^4aQ{bIA)^aPS_O+G>3Tleo4hW#6D{D3^ahln`vEzsxVC*3r;_L^wE^aEK^=I(RuaI*pHB+whi@@AL?#Nv8L z)X}HjAELQ%k#$nsIvy$>D52{&l{gCo7njT!Xd&u)7BRV2p}xTIk)d@fqSk*hm#gW zYSk*kAirK}VHT%p41%fNsBW!0U|XOK2VmV?P0+s>nShv{c@xuiH^avM8}Q^wy!xpe zJpK6`fh(*BIBuZ02C;LGFdyB0KqJA9g#H9&+E}ai@S@3#ffgwnwy*7hCBIn{PDmh$ zPTN+6vC<`_O$ZGVqS!Ucq0R`Qa~2?!BsF&8I->&a!yi`bBwUxIdx9f%x(wrjrvSOa z5E{B^1ar2gRy;Hq}0{4#AQOZLUlxbBtjhzt>~-~n$=e@ z=Q3-6_1X9(*dWbn0^YYGq04E6P~1`3TOuL52aXf!Aw^>E%l`Sz$L`3H(PQGi#$pc$tC-{b#_l+W<{KvcKgnqDGW(O?*;| z)w23B_$9?voA4HBvmyWFeu;5r4kUFRBXhp86yiD~nY^2k+tL^|oqc)Z(!QJEm4OD@ z<{Dnr#*p8YPDcV;S+MXDVql{7=XY!frkYmBj`y)xfFHMir+&q&6apW zR0Z3W9%TxxK0^S|%FRQFxKv@W-847Tcv;mVBG08a%nf}kMPFe_!!Wh9qLMtBgg86riQk44TbLdgoud$q=51_D z%NkI`?1U_OPKxUnnBea<9wg{ZdmCtIdpID?ACMk*;c z>MFW|Hm8(?shRe*4Tp;PGgy-;U#|<|W&eHwlySv$>#Srgh&W;ftIQlQdNyRJ$9XD$ zk5rVdQO?G&LV|#8O)%Oz#ZMp!(AwZF{Oco{h?1cfZ3cxmathKLyd(P8*B}3jF@g4D zz}T=B=m!*?RmQSl{qzxQR*v1k=wvwxL6TkqdLL701{{-44?w2qzonU1b?1@C^Dd}C z^%*R&_^yx2Xw`3Uv3SB)z%b)JfA zys`!B(i$$tWI@I`KC$9}ug;IH!fAObK?G7Vks3a-`jDvk;^B7yMdy8c>+= z7q8Zt><5Qp6%k+o5ugSxL-h!-k4y|O-xs0!k7$$o0;n&CQ+nkaj#j2ift>;|r zrjm?`EK@(U!JN5Nac-ZdPADNsQb|2pPfR1e6>|Z{P9p@OlZKWv_ZM;M43E|P#Th}^ zMOp7(8;q#I1&bvm>fKsQ4I9fy zOKp{tTIZgl1Q3@JZ!|qTQMge)D3#SGH2Fu-6c$vh*-0PMT0RvQ8?`JrJ(C!EW~#(=g;h9sk9o%mi-e7r~Do!3|+k5EdPiokB?_$N~SEe3I&_`*5hp+KKn zw??e&c@VCB=VTO$N@uP^saIu!worj+ zO0ey^36I2lc7x+y>UWJ45Jo-rA(fm&A~6DJ$h;9!F1Ab7oLMPXW%iEFi5ltqsY{OL z>2n)E0=}+RV}O4fFt$5=%q1#OB-=2yT)hHODZQZ)}x=l(eeS3n!pR>Tm?uH>VPs(zbF{SJ+dtk9gOF zQU8)(mLk_}K>MrJl8#GHbOH~c2@W44)v42Dsh~>b?-QwZw@3X3|E1ovqP`t5}4hRIq(S378n=T`u5DZ z0r_>v(0Kt4#6;3TkB1>{zuWSz>|nTp&MQsQ%R*7cYyDOGML1Jo8p#@%d2t3#{e=8eKB?b<6^pPmxFp(Q z56*(LpSh-xRk1TW{U6Fhj`Xl_CRwN#UrC7xFB10&Zf6rXRju|$FOL+Ni2hort*h9K zk2*@%QmNzUgB-vLe<1z-p=JDV>jjZiHX=X@MdWx{!yP2$FuTVHjqBzXMRrZi&_Elm zBh0&(v;d;pzv=p*g$c{)@_3}p6^U=wm{%HC;*6Ndb_pku+;m+xoEuVdi%CpOg^4bDF2lacQFI?3v7>4MN2~YQ zrS83vFbBSMnbzEi4$==}2IEHLvOIZ-%ur7dTeB`>Ax*Woq51Qx^;Q-JYD77ZRu>TM zf5t^BP(}_yCjH4v2z$AEE>?wWD_?Vk!AP!fc}^a7L$=}aFo)VMI{F;+@=3D{3pDE2 zRn#J{IF|cGwaS@{hJ*q7Knxo=Axt8d{aqc&aOI^`EK6fZsDo&&ksl*@yJC{DL#GWC zTZCy5ga1{_awUU;#<(JtCh~n~+`G4?0;623<~9p*16nONFzJ-UM$;>9_Z$@sJ2ElE zgu7_Ysu|u}dP=iE^v=taO_s8b<=NwJ>{?~&_tj(BN<*a;#{MJw)d8PQ`wS^aVRLXO z2u%4!%>fx@t|6e6rgA7^*KAY~Y+@S}5j#o)G_`ZF4`X5-*5Mc2`~kxUST!MLCZR}+ zmM@P59&Y~_;bEms)O$v`AssT8)$18Q_u032BU*aR_;5qXrh!abXM@2{$zhb7gf9SW z6u*_^YI_AelP@U}t^Na_{_)d-gnN>ty~~MOb4i-CA_jvPaZ3c{L}V)q z52_*!Z8y+{W*CtO;#73UR+@)Hqmx?4>Z*vzVvmN}82%D#ic|wC3W$m)Vxg^R*NB>C zq~0d{!xc>m;8BXW&NEJa=zsk=A}<&$1a&dea9$l;TlwcWVrqaieJvclZV~3gkwUBS zs!)Fm#taP_k=aCNb0OyxTo+tw7hFk7WK8(50rBKVk<}aL4-p5hvV)4DCaJvyq;+md znZfOlIRqzKoUA+j5LX(F)!?;Jp=jZnap!hSNz5zz zuU|?%Uk0jyrQkDqe`*04vM$zRqUJt5!f3&`^<}Q-5>m)W7oksD?8)YDdb> zgl=UD&q;lwiu((89UDHj4+g4?m^ytz6(3PT zncS4T0G-;4N@nD8?fa2|GzVSQY3RU#$%8HDzwfqc#1W6h`>If~&m1>teI8~<7db&Z+}6N&+yo>= z18RMU7%h-YVLj4*|ByBUELZj|$Cf;PDeSkM`YpOk)tD=YHAW5jhO7tx0001>3IHID z0eJy+0lziUQf3#bBJ2uU0*H$7m-`gbm^K=$C0a`$zBL*N zjYKC@vgo+KI{Uqcxn!Q$%taV*q9$`^c)WJDv?Y4*f2@4_orPo~;rd7^cFvhKJ`<|p zE745&sVP;*|=LN6$%PTrBZMX_f{$uio{1_ z@ePN)EsV99RQ#nyLhxoiGl+I@|aglOzKNAd}Ne2qVk_fdB z7^5N8Aij)c)4`nw#KFo7ivKJLcTQLPV9q35x0 z_}yO>)vmScfDMz^T>smG=K`?6MBk!yV#C@oD~Vpd6IBa!^OIZc*_cFjmzq zj4od3)ZO&FdosN1=s>Ju)!~6k8S4CsQ@3?(EbN(`s+~W1Nt8L+bwkHhG%2SXaL$p1 zpC{^?p07cKgYMM|iY$3-@L`b_J!oQsuv-hik{v?SWt z5@?klx@Q#CS4%SSJQ@601TwHSwv^hfRvgkTV=fNNMFXKv8*`UBdpr>v_hm4L^m#y~ z&8NM^R?=p`XHzHgZ}5gs8_xYJ1Y9-d8^3tP_%>B$ZtLH;jdQs7QgHWH_D2~oMum~h zz+ka3wD87_sSrPwgxaOS8xMuvrdqKoWZ@MTg8p{CbETq5@z=VYu&fT|kyxP^KtKcb zJy*VwhzQXxK~R_0Ivf*YYX^CDxjI*vv5dU-z0Z0#fg02iTkq7z!eh8Y0>!-Ja=CQQ zI)V|Q&d0}C`no{&h56rEI^q%hk#cf}EgpKVLg|geB+|f@9Tx63-`JO2uA#xffrEst z7Kda-n*1HAnctAC0Y6 ztJUJZV(izfei_;LR@dTqHmz3K`mf&gwvK!+%sPGje^aaAd@qw`m&&g!Sn zqV`PYlu*6gqsYOGUk*|8@Vjjs9Cz)ie;x4L-Je5lh)l=i?bh%4MS!r28p8kDOWxs*VvP`EM zC}_a=2Ppdw496>U3tj_DhV~KcC-{`k9vB|DVmxEpu4lM4VV{56ZVl$MqDJp%zKWZu>gRp!wHSa#jy z*LpWyGl;7o3s*yyOKA^TJe#r)RLx|yv;KTKG3_<3KkV%Jo_elkMYN>Kg6)4aN zYHGK?oE9B(mj9l;Y>x@1EvRH0el!38K?8F@02m}BL=*?4!B{X%gE$d(G{J+9mWV8b zAA+hNp$ynSOacK33Slp=xNPf z-;oXc4rE1QUn)JedV;kytF3qrOKGd=gTvc`SJFt$w#>Z z=y9Ka2G&(4jcpv9T2$w>M3Q5X7F563f}* za`m8~3rq_+7ZcM)`Ko79ANjx#MDsmdkH(cLlS=6i{2!k}AuUGthhp470V|{NvEsZr z=V*8sFD_aovyopVb{rC%qVq}NBuyT|K@F1Z#9$t5lKgKc`~jU zGuRn!og9h&03|0VL^VKPOq-p!^c#K~D9bk7CWR`%c|o?@LK3~HQqi<@r1rI&#Uy$E zBopeDP?W^DT2esT%?RqS%C-_y^0?c+9#tC}cz$?*FYUZ=wT6XL1aJUoW#kyB5emRS ziGpG?kn|#uFT4<7hsG^&YA0iy1+xC!2|mZ7l6pJM6EcRgHJnaG)kt31p24{sPInpGHMl7IZBi_e|1?4{K)@zCdn<~2)HbJ~K4a%)Oz>MWSNA|_+s29K zS?}wh1BA7Yu15=V%Ar*b)0r_7B@fDUHl8%f$sb;Cj9W3rdaVviwwzyWsyv$kJIFwZ?C!_JWW0jm-Vr#Bb-R;3-^q@p6 z5r>Uh!ziS`Q&jO`T7w-Ff*pzPkT#Q=0J3rt!2p)kxMtDhB!2xzLM zhOe*DQ=Ukc$=oB|iPNuiKLg>|9?P}EI_;pGPCc5y;P1${9bsfqPej0iSPs+R<6;qB00Ew^hG8a}Ur(v#UST(}k@)_tYS7vpVYMy>X*Se2IotIr2j$33I zE18 zV`hN%e0{l|)o^bu&m2*8`VZ(ym|vkVPgtK){j?{0gSFs+MrVz4g`L%1 z9c8hg!-rpJo4$h!2rgSOrX0=kkhf1XQuNpiYzx$9DBc39Yt64tiIcDhxfbq(x8%-D z9->w~QC=Bs+)PfghY3sv$&mh26`%*(!{j;3{>qD(pr+{ECR*}PW|J;oa1|pbge1yr zLWI=MEV^}nnW-EuAcDZhb6ecmg%`dLeUw4rJXm%^yVbxOBAYq^a3&a_2cxFqR>pt10^9++85wc$$SwYFmlt`tr{3aeRse2i^aui?8%X9v$Pw9r+z9zfU% z#3Zk$YXRE88iqfTf%t%TjiMza9dG4|_VfFwu-q035#{F{NAe#ySvO-dXR$1s8uI3w z4pRvg7la5;5bI4=HjKK(-+vwf@9_q73xrerhJuBRm|s0gVgkZzu7Yx{bdh*n>xm;H zQmW!$V@OyprhGYArIgJHF!<8yW^9{IL?CLn)M>v4p3aLU&jpImLe9(=`~JSk91cuqUau+t_Jj{It6=6RpFXzFmF zTy&6<)pDT7n6yHZ^)QL(P}D5VDu(`(EooYE<@QK0S3Xb%Rr7T7E1{HOf+0^@M~RD@ z-cu2YdfPI}3b}li$DDlZBQcj(JT<(2DAXjRA&)OB%%+>! zEqGO|rBN&?Btrr^y~+LmR~T(3G(sT5)CKJ+zc^D=QA34hbwL>_5YDDW786`88J@LJ zy&at2gYz9@^BTkLF{iM2tEoyfu-ZRBlkuRs+OvADKB#=oOFe)U|1u z{UF2<(2TqNHpm9Z5K}z;%ypk17Y_w?kj|G)sCa*Y%zWb+?V?GQwfWM5ms(q_oX%25 zDdXC7_>4moR)viNsp~D^F`Hj{R$ZH!Qb3Oav_RsPTvcVB-b}F{lGo+*21%lqty;7( zGG%z!3ImBy8XXH;Z9UcD{z04{#boLGS~Oz35?eR8ryLoe)CMru@gyXx+b{|!DrKX0S zVZzI1Iogt{3>?VwP~j6J>_YmfUGU|#a)q+(*-N%UyV7`S@AX5gsKQl)X^DTAC5DHf zNn~!c`2E!3g(0&ULJyW|48j?b*Ic@2wzv(O^U~wJ6l%ye=?``1Yg2}l!3O81RU3n# zP&QXXyZ1P9tESKH{cB^T1+!w{&*yV*nGPmE*?ZCJr(r;mE5G{d7Jh7qkflf zVyts)!W38{DdOC1tQ4&;8Nm1yB`yp zONbL#N#Y8wgBLQ-o>#dUMe4BDFJvafSSPFp>Ej{9Euzqn5>3xf1r2^=Dq#d3f| z>SYoWpg;~_B|?i1b?oOd-^ZW3n0)}!3tM&6>ClMq9@VsS1R~+$<2WyZ$PO-XSvAW2 zLsTB8G4hzjwZ<`SD9_H)b`u%Va=y%m%JiFOh>gbDIGYGd^tR{aD00-O4g;~Sh%zSq zDb5UdR235nllu2JwWv60^=!U7)=d_p(__C4xjHZ>!#OZDgQcb`pCk!D9_p2;KO&Y` zo~&f^>qHmr_uNCKgYa}4)JxM5ibm(nbBIO`=T_sTU~W%q2b?$H_J8cRzk5Id^o_y+ z&FkrY$4w3V#Df?g7K4`6O?7(j8WikK^v2c~yEayD_YsEJi zl>o=-+&^awE%lqRj+qFlg?49p%y~BBW&b+uI&DBG)mh^b5@fEQb6^BdJ<(J)3Zi)? zo%3&pCWUyWf>Z>R*w`&#E?+>V5W%nA1u7La&7zoCZQv^ADDG~+Ax%|#Jz>T zOaxQTI0dnzjqLe4T4hHVR)@B5{bLM~$X)n4s@D_5M^G^{4T$tty29lHz=xajH&2@< zwxaGv!#w(ZeshGGENpv~u_?~M+^X?!;YajFUS+uYjm}GJ$@jHUMyfCWL12)6c>2PZ638j9i_kiV4!0X5xQ1Ju#1=n>znH299x#!sy zo5$B!`t+&18RtG!vVh-tcV+!e(ki*lJ|g-EqI_Ybd?@t6fU-XKIlA9r&hi!v-H;P3 ze2_bl1ZX1K52!4y9jkJsDUybhv}wFtilqC0?6D1c(ItEV*yTVCKMd*#p!r-(Xuc(@ zA6&$rdXEY7e@tjlitLv`S2!gt=6w6*<%$8O(paqwAVcz2dFcp{g0-4}4OG6GV~V8M z5-_-8#2H{^BQqB@m@RfDIywlTUbOk9SW^RUh&~BmFvq{Ed|Q%FxkmAg6i+_Jv#?@t zN*V>d!7(Tuj0P2;=*rU3bn9CUBX1TM_c3WW<{^?}%%wO3+37F)yuf>QQ_AO|U#i~K zvOSb9X#E?YKNnZ9A8IX@vcfGKQ+ox;mJV4z%^y^{sG0>hX^ea7{NBTnz<)1r+?qQ{ z;DT4}MiCGid*z4RJ$Z6JUiq#Sb9%R(XncngJ1DW}ISF=(EEMqoe&Cx2r=4=rLon#7 z^db17!ZhWnDk&eM{y1MYal8(My)*&)HbSXl@lq#fmUE!%m1G$&j9i$~BDkmugDXfw zbchXx@Y_5_|0lSu?oE4;%L5UH1nl=|ogI2j$DJ&fjxeeC`rtTE_3A^|%{rsal-?pViq)$Hc(UEKY21lTnU>;J5-O*xd}g%6uN&uO3DiMXA+}PA?`N^C z!?L?C?jg&zUbdYJ_&Md^Vj!Z`2D8GnpTI}M)W{T?BUkSq$4%8Lwb9je4oB~WT&-G8 zbRWBgja(*ChHB4~;&9{pQa`j#Ab!s+XoQLSckk^L%rPjtk?=16RiCYE5?IYuWtA&U zjF-KkJEigDwNgyR;Z6s5p9)`$3T^6U-yx_#7BG%hJsz+XvT6P=okES>#X>c zk3wOXuwtGt5T>${)Q9XFl-}^*fdt;x%NIv!3JV`9sDU58$4{S^RGnp+z*!HlONc|C za&*WcBF=n(&E9#(@mgy1)bS<}>}vyUiStVq*Sq{)$Bq4lVIa`Z8c=Qiop*a6%z7I? zR$!N4Vgbp$HQGR$Y8cvRE*0^)4Ss9kOo7ulMVIkuw>!>Ttj5-nK=TX`FJl>eGEjXz zmIiomkyt3m8T*sEE#98;#G-2s@l0?$#lwNnasNu_rUFc9B^(`zqd0;*L+ovepGPTBU18J86w5peqf|9@LLp=p2}ezLM0sV@VKbw5{^APAfj z4+|;$3d5M7j3sL&wOQ;V=)`85PsC_x*-Cx)0q#MM$QO=U4#&+(TO2ofj2+zv7sl>U~eq}lj z{*d|op@LF4CM6f|ZqM5n9tG9lETf4idLIpyk=Q?tp(Xd6J8bBVg}%LJdRGqC_Ahf~ zPovETen~<`{z$Q5dhH~2*=mb7JuLas2L_x9dP`cOie3=o)@x2M5Hl~WV{uYR(HHGc z9)b^6FCl+1!BR{|xvN6VFiUw=nTUE9a zkvAp;SP%~mW7JPJg&IDHpVMaEYfGS}0y2i%n8ocz@?L0h(43l9Jy`;c>081q=&<@)L(AU;GyR}u@t-5_L8BxQhyb?`fu}KOSi*IG>VEAA_v{S z#UQLnNF1l~2d_K1K=?BYU(ZxU7^e;xk~hRfM7QPKj#AW`sP_&`g7uGx#qBy-JHfs6 zhBJg=sG@FgJvHl#k00s_Z;sCcC1x06qAswSY%l0=8Rr0dT?+L4RJ=(oky2lbHozR1 zaEE|6K$o<74mT{LeP9B2E;N`h?w9vhF5_c^qGOT*f~yPBx?(o5^1Vyf zfs|g0m@h~%f%IOnu<}m+9kxJd*8%<4=a1asAL4SnmV6csGLArCt7@i39!h4d=_@}7 zyV8R=BXh69A1%kv@D_vporPU zJFTcvrVVD&U(~Mri6PwIg9toq0{}CEd_B%>`Kk4%YXOO%*pun&tcy`~26+AB(=n)x zv5EB*la*948Y5`UQEGS`8RwvPT%sUw=sO-0sNzgXm; z2)$3-ay|ffw)}pCx-1%VI#rbDmohmW7xWV{UF>yk)&Ca4VD&$L-F#* z*p^Ic$S(kvGDs(S+)g5ds6HC2abt?~f7GcrOV#!Of*Ry1ycb6VnG6Kl6fy8w z+6UT3DyTWn?m_m2iJoKn*FPav8|8Ux7XR4jOTV&vP2FBW%&sAWFz8Yy@eh=>%LHk{ z*x~%ClztVDGY>I=qRb^hPqucgq~*$fESKm8t?{QteGMceAyMw6DzjFk8+=|gph6VY zZF~LOY;)y(n?epXzWA;%8|(kRyk>=UAFPGvA-Wg4%Z)xbIgk5}PYzow#VWVmgS?Sq z>=GZstzQF5xih2yg5vsCWpBCr*QFFQ4^CzRE%W`x-}!Ix4?3%1}_6JG|3%UCa%R>&})?}+DPRBN#3}D z*9Fqt)>vs$RbK#kMC>EZO1Q%(>@AgDc^Pc-wc8~0fJtdvYA&{^Yd#Sr`OP-)5_EbA zLI$QNXEl?HxE&zm+ekQ}kTs&?O`6Ss3JK+R<%YFgszDNxQGy9W8d@{Om$RiTtXqqc z2=G^K>!+0Zm=(+RW{9Igo&emtEW?IH`BwrjQ!L#2SB4bp zmpP|{>BN|tG20zd8tTBf$N!{AeH~~hz(LDV&@WOJ&BY7Vh?yV@o=zvx0-@g}ium7f z9j1r2KBZ|>A@IPXFAx$^R4@H%Ac`;jK&!%)FB1{YmoA-t=`s&N0GtM3-LnC$+j|(P zGyt_u^8?FR0p;jL!+;n%`{x1St2#f4Slc9J5M!+Lp+$}wJPhUMDuq%}o?-Z&cbT|e zC1pH;r;`ddsF@{DY5bI=RJoHM@0`(ZsBX-bcF1AhXvq%>7I)JBNfUE+Bm|!%$g1WA zI#=^@KVS%Rm&}SZWK}ivCCvHD1lGRJk_KJHv0Y<@#v(ejET)d8ToQ%F(ZXrtszF=M zv#j+8KASFf5AjnMGL!@dlP^&2d&i1oqc4GwRgzWBlF~Q$UK+w_H8Bc&!fUbM3HYeQ z&5f!Up($<2+y-eh8`#l@v0|d|II^C1%?~Zgg+D$S_U0r03J|Zl7PYjo+wEa!_3+ZN zI9p}Rz}!)0QfnOayfjD}=*P?uhC0k}ykRl2WFG%*9qscHO^hE2mOdv7w9J^5Dc>sPRaL<6 zT8sIEoy36&E{Hr!U$Bs^ml~0QDgAZ8c?q@mO*>)y1#>8_kGe`Wk!>@z2hxk+kfuKg z{MJF)Po%*QI9cl!LjmBD)3Jq66e+Bn>o$1YkQJvf0_EWQDhAru^<^=0j2Ip+r6Je0 z+u7|Yamp?@S!8s;_<2UoqFq=B{TjN%8-8R=TJq!h)8+jp6|b;y>tO7)@J+io_T*+4 zhA-tK64ukkvFP9@XkV7j2879MO+tYpzpem`E+5=_t6ps7pAyHm8@Bdm$LlMG$ zp%XJO;3vTszme#Qa`48&;|v|$B#FJf&t;Xz6PECt>tq6+-oCVrd{`tU;o@Iw+sD{u zz(u0O5{Vke@v#kwVjOXM>d%7fR^B~hyI%s`;+IB_*Hl)D3Esz2c{{L)hGp}R?jUG` zic8H7!`_QP`}*a;TJ)4#^X;AJ)zI{b-?Qt8^OC?y%O70ftGF`9!EOK`X;FjlFR92Zb0agzhVS5-qRoJ2-i zTO`w@N5o0Et(&TCTEy6;Ck%Loj0*B3)73L)gfTGPlWIQT;RWXh!f_n_Rc<$fE#Rv# zsh9-MCNnt&0g~FAf)zNSZ+7G$yqFR;_t$Oo*_P^O0&R3u&aCqOHjWKOwSDwBvjaz! z@e8N#tWz&ZT$q8xo3EJRiCo%iRey_Ct7UW>L`>UB&2F2wPsEl={T> z$r+Gv2$k$GgWu1nFgFYcu;lti3Yq={k`K7R$3J%3zly9aB{vUnk#a%2dD1LvDC#~}GAO!t@ zT(>(I6QWL~3Wrrmov-I4QGvi8t-u+qi4>46aBh_-YmM^$d_K{bP7Cm^WlTlb#4fr2P`Wc8!ANymvm;YTu`(p+`XM;vk(|0(9Q6< z43UKMH!xHi zcM+EgL|B;pah~~Ad9Ar=Uz`bVjWMA&3w5W9EBKwfy|(w*4XMq{%Q-)pDGXrW-H7<; zrLUo2QPw_XQ3cJc3EH$zq5D$PHm*?db70?QfGSg5tr4)`J}9T4O9hj}wp%uZ!#Ngd zBv%-tta9q<|G}RyDn3b5ISO(&dg-{ZcR2B}Wb}%D7dba^UXj|Un7mBI9$~1HdV|Y* z`rpiuR6Gv6gdnxw&$MGDXblkMh_J`O$dR4zQFl8X;n5sYeJc94!aA+Mm*G08tyIP< zikf(c0uT2OWWU;*+u8O;)wqsq2hRFvJ>&l`?>y6olyN z52cfj^}jec>D?zc(cbxx_Xh5hF;Z)`!Fg4s z!w5*Q!m1TPaa_3I0Kxu$=~2Pa0e%9Rr2|c&dseF_y@6No4a)+p}q>Ou8L|t+faq3V>bWDRs zyrh=yN9h8~aorY{Il0pQbW24++zQ?gELCMovBau>q46PS$GEMf3`A+>taa0+%=2-l z%dOK&9ix?WcW&|_JdczI=%^mR=^6I@{Uq3?DYUaUt&wQhwA?oy1_yhK8|?qzY6>rg z7V>c&Re2ix80Uav9#G8nwThU7qr{ukqSEMqR=!;-bDeG#+XmfA%(6@Qwr{HsHr@c_ zg~zeCTYPoHSLkjI<=!;dM@R{fF;?}GBz3ps))9v;GekB*=o1^&xRRPU&b0&d4*? zH8$jHR`;(3BRZ{aeim>RfMi0ZTB&aK8_QVAr-o!1dh|HI`?>`R!~5=qa%_&hZhRXB z%B$tmgNwhGy!*6FD`ThaunoX%cz=8WVH6pUu$)yZFh{9917@#2IOPzdc*d3uXLpZx z5Sn|rTNq{oEm&|t{ewpg(SGU1PbrebfCtDJJaRV~wrexyY1=&M4}EdTGIxp<+w%`| zEPg*NZ(cCc;&YWQ;&Y2c4xR^*ClG?Y?0rG5Q!ayHt?*M2E^;J8LKv#P%Ae#zE7eYZoLxG$5Sh z^w82{ZbDMXZ_x-D41`CP4r)TBBWrcdi1$-}3Bu7U!mxD<1FsL%#H0KxY1CT=qzWmG zBof&ws4?%TZ5MKfrB_1ua;Su9)U%_NN&z-?01gIXN~Fthl^qdEg(ysuUq2?!xN;y7 zQUhE3mB3Q*(2=F5EE)K9Zi)zmW7ZCDg=T-nf%RZ!;Vi{U%ZXJ{afOri*hq+G4|X2G zmYrxlzNN<6$!51LH4v=kOrH)!fP;FCrHflxD3ic|rSNHZqzOBP zvwNX~ZuW|dA3#gQtwsZTMuG$mNm#e|WD4D({Nj{PTBy6Z1?wgFM6B8)i!jt%@w(qh zsePV$X&C4x92SZw7>94My;;9(nloV!3Ao^T6@~WrtQA?s@%uajW47bXpSPidJ^q?_;t-WBL0MOlew_si#84m)6{`!^#9(nmtH*#w8_?V75BGD9Wq|vNkp&sUV$=cZSW~IQh`48-$W>9va#M#I zD7~po==M{-7xXg=0RpK7T)*_a^Kq)m$-WoXu9a;VfvS%i{3R!%IV6Y7JYLNZVVV94 z>X{q@Pc(lEu5V49B9+7Gnks?2`>IcCat<;nV!lnuG$G%WVuw-{8A&}rn=B2{6EPZr zzTBc9!6-(MMO3<<(#+$q6rYN2YdCv#CKSw89$q!l1i|j310^nEWsA^-4$ZcqV0;XQ z$(?_qv$zzs-?7qbx=}qA_6{y?eAZH_s;PNlqoJ&SFmFH8%4r<=jK~xp+c3YzAwE^1 zWOJ;^W}vcqxU74*JeyHi;#G0JSlT69be6euG;LAW)73>G z$XN?ODf;!&y?3M)2GoyD4WnNjAWX_dW9;j|0ozrIVft#gu6Bi@rn8okq8I=G7f>&1 z?Izb6NZJzkc+`dv9hqp)u)uSxE^qYzs-?Zbsvhoi22x#4qvs8^wk$ZD-|6KA_H+W2 znC?*J@gmf@IJK`eIjZA;1FL<8hQY|`fzC;yeCiwGHr^u+*T?MinKAS^>@X4|=^oz2 z=C+i(W40JXw=~L^u?xG<#j%~vWlzr8CG7Um4!`E9B-6_fHn(dyQ2t)C{vukgEO|<- z6iPS+ebW=D5hGvx3~?mXtaH2L5D(Zws5CDlwzMk8roSR#f;Uir_V15sl}u*M3NK*Kfc@ zSDABb>tB{-gZHu9?v1=&2yjL6ZMsq$C9As{qa9g$>sTFb;iKT5mBW(8P4Z*^4?$%a^7o2FBr7jEM}$)7;H=2)^R{+OiB|2OcO#n=p%)Qf8vu1sa)s6-hNz0 zLV_?mkV_vdB4F`CI2l!syyF`idrmi^gu=E*lnF-`6J=^MqaSwDMwOYuqyf~UeUE>Q z35bA;AKY>LU4Tc{h=R`3?wY^m0rBx}J67Y@;2Em(>8Hnnu+$LMh&aRzP1qGQiunDd zhM>qM)USaxJEWE z{sB;chnVIFsAw5al3VTRYnslOMV03n$&okp|IC2X2I|=WIro4yv4$_3QU1AtUZxul zkgc1dL=o?_xdL2_ZNv}wHb4%^$T6nqQ5Ro)Fa7MMRjowlF`(saU5V`<^_EOQ-e_6i z#~Da@xlx-2YjZ5ctwbYXC7jw>@&WQGn{ERz&F0&d4cRJQex)&g!^F1wvxTHYF=J79 z53)pcGTLipH4579A*_lQb*gBc1SHfj65FB941H2)!xYF063eo?*0TpW;#F)61hzZ$ zB~RTc-8Ntyhayp2V%v9erSWj@dIir;x(&no3+hB>i9Sp>QdC%A22O6qzjI@#{4c z@dCKj1i9LP0cZPu;a1C$665UvML@d0T;EXzu1W^`;_4=3vE$rGifO@b;A=5OuPCb z)xB9GqkqC2^-FPh~FmfgCMN5_IcAWrjT152U&gfJPP+M@3ifRATJp5`of<Oy zQ*3|OfKTUyS<{-8xMB?FWypSUNRYXrM1X=IwWPwZ3g5HYPUUdU7bkcShv>|C zkaRIBUpR!eX`|;%{8llMP(=lyRv4Y=IGaPttA0Cj{oRT;6=}|OE4^MzG9I8c#A{HU ze*fTaR4h+nb|R7rnbsfrmm!zv%ak&JF_j5^X87J3x*oVXc8BceGSZj&ql?^;UPC#{?m{l5Z3vMs(Rw~5=jIX}QUgh{ zeuUrbfU&k_a8K&?4ESy_pd(f;n}-qs*sa*vjZgj;Ky|s1t-B-@{S>jfK;Q$^S z&n)j)8wmE{+tPPlvU|}$2u26;9fsO-8@L+`DHgSW?R$3}`It#$p-|Ix0t1_uic(6r5TS`$ zd+AmD$j-LUiEy>yTghyE8o17*;pznV9q<)}#f?VEixmSdrec#t!QIeZ2nxWr2scN0 zgRiMuDl8-$fSfiQ0|lf#l>!{k%ZP^ha6W{-=6nd{2lUoaT3ub7r9DnLe) z7x1pAO_ohe4gz*-U48NO&WY%Y_i~O{IR|u8fx%*vM)RLdu|V;;fmunQwO6wuf|!UD z(?B{KQBc$dW7ipa8b8Hx%AiymRR z$ylZzE5LhTpV5`B>}ZZmEsK$U0FQbOrIO ztCSn4S&_2kka1n{NF7bfq-^%OE>^%BGjr|#lS59QGl|5~#aHW!2=YQ|!l%FiFUn=P zf8zakm;2C9%w2pVgYW;l83M3_(KCP(C)q@mg%NGHojNYzf^Si!b$JLEVE#eA8in&3;hA`yVF<|>xrex%#c`^YFN^z zeG_L16*}jCXNkZdgEz<#1`~e}*CLNJ{mYd|(-c8X>`C}lx;{7GL)udN##PMqw$EMP z9uaE&V&gd?Rn1_}@;ztm%%`{(6}ulIMC5Wc=@wyk150liCQ~vupYyamFti214>jq5 zLV`;seNlV?5reVu~Y0ljv%TE^{*$SV0S z%B$U7F(WcewtHW1f3(6WS(LpzatFA8N_>|W0W4cOp?Q#NhsCjk>c(mTdielN0$4Yg z!Z)u)*QUm#KL;kmXxO?YpmwmC%1srbVqEV~SDL7GBvdkJi!xBq>-p!PD@QINz|vCy$6l$0OA)aWD2_;=6!s^U*si z&=_CkA;YT-3Tyo?DFELcb*~s}LQxvi`S-@tWrm4X>muTBc;}D+LC{idnq1~LvjjSW zGfq;hXUtNgDaKs6hM))r5-pySXtUUmN|(jnuhjCyBY5Ai z8wRkopS~S&9XZ0SE^FE1tX}EX7%y5PW+K;YIEmAEv8DuzIv}ow@}5_OERq(12fq9{ z59W2#B!r8h!2^yBTAF8e=GxE@bhMs7DGv@{(riUAsdcQM7QXQ zGd_I)#@g_t9G8y-xlDoIz(}T(2Gbb3^a87P`vwHbjG-UG!4-R$wTp(BOSD$#_rc;= zH`;%E-N^-7Bqb|YteEK(Bam>O1cXRt$1)f(j!*_{)(>tSAG)aL!ueQi4oSMFH0d5E z>FIW18@o0>B;ejnCpEqgcIvKi#=qmFNvJCcmWU|mYbZUz;}#yP1h;TTJ9!ib z!kZ-Fw&4X}Cg|j0Ab0VTCYC|7mL-bi+?RV9;HZhTS>N0@r`EiI;^P2@S6u^DNzAGN zDsUJ#AqYi(hkY;rEM*E-RUt8(E*{rS!e$q6rEPc%z4yB)i2$mR5L<(KEf7( z3GE(tn@g`WuG|kQlqL%oLB`=f7ihkv2mL5ik?$OyDl$yx2|(ev?%ru7aR{wm^V znP#RhzRNK8Jlk|K_41K+>(J>EBAfC2hLsV8sJ4TJs+951n24~_;<6j+ks0@KiNSe) zJwg)MZ&NF615{(&$k1D@KMBsWvgFU(&c3W(}4n0~XGwCTO~oxH1r zyl)>xzcq%*_R_es^YCQ+{|&JfOLuSG0U%=*_hmCcmPWVYNN9|c0)@T^cmtmne?pw0 zItjAE(QRoaa9r#(l*>s~)CSdlGSzJ>^R%w;fayizlR^u3l8>j?zvtToq6(zfQ&K@b zm_khqHuL7#j;#>SoY{67hUH4VV4TqX_`K^>aXN^OohcJ@G%@G6sPKWg9xLjNYgN%m z1G@wA0Qlsb0yUNjta1o zvpAI{?Sg;cUIYt(>zM!-*sQF7n_0+fMcElMd44wkEWA-|(?tcuXPXJpn;&WoUwx?{ z|7Gg#Ih#r8TIpI-307SH6t(rB46?7UR>z3B0T?d2yUnG##4dd8c7Vqk_g*YXLVJlP zy43nx9!0%wHpFm40f(2{iBJr!Y!83iGvvaQjZMegnl97#W#92j2WGcY+>=cKP$~X1 zvvHiZB77*3SBB{3qZ+PW06pPUwv|M243Xg^s1L;+-Mj`)5))C=y)kA; zyo6Ka#1UaJ z!23BVn87G$6*slzCp)vHMuxWaOTJASoaRP%tbtbqAQ0mt{0i%+Q!U;AOFhajp&Jnt z6rq-5X+oYMq8lour1}Kah}ZY@eD^fw97nLO|JEEs6jdmpdhbS9G26mIn?Fa6ZH=DR z1Sr%ryycB)W*1?R+S=S^ob6`>Y-MOhQzSr3z-hA52+w*DVhTED)TY>;Xa+$4Wh7d z*<~PBr@*;vwe@Sp;n?gGd{}A^}5Mm32N;{$CV3&i{9L0+b5NTr22NRLDds0 ztdx|O2n@$>T_L6U$2kz_f^?`_voYfDW+`EoiZ4nzK0>QUHy?F*>@h_+nqrpIywf9# z(}*dQ)4PWtBo~JYFvV=S)g^!mO1h;9`|hS{5GHw^cP4<%=0|ZKd_w#QYT`2&o`E)< zT50p#ABomy?7{C5vUIG<8kGQqO>ihUx;BCZ`=jeH8weAGjZ9gZLUJ(pT z*b4}!y%*FUgD1Vr4>ViQp+(fs;`6S9Ys5z(d-;a2x3Isv(O=`h;w8E zUJgJs+b@gmek$6X!sUWOl|5AdOoPAMkA2q^ZJ54mSL z+|mT*+D#Rs@PNqL@_i%Ii0G9TSssT6J-NFkf-^E%(hmTWx=^7 z3ITOCN-8!Vj1SxNx_t+Of)9Ft1T4)p8>{Y|26bi}t{Iw@)~acSTej?l0Wb~du*S{f z5;Ov#iOeJ5W$`bY$xI1ufmHJ#H1>zd9M!7Xc**Oo?K-42^in#eI&(xy(FUqEk~Aby z%G|+rHREk8b#cx{5M|7d)r4~-VGklORn=MfBJIU#S$4n#l>739;ZGQT{RYD z+5n#~VSYip>p)ulT24~1)HFh%Glf#7(0?1?RLnG!w6S>xqlyU#oj+1jHHM)Q&bH3O z8wHAA(vNlBZubR9a~`?)te8Ok6#X(MMh9gVzkO#tzG4L^Cv^QZ4kt5cm&10iblO)G z$TfkS?suh|qEr(MvJS?i7to6Hh|$w95Q|ILMr2}4STYvwkN=oJa=w|qxOk*9)tD_{ zUpsz7WWSE_q`TrZ9=OBb*=^+Pqj7RDTRmP>rBNR_VyL8qFdHf1)j}##|EjVJS`l_P1OE3(q^2O&yN25(cN>fC+u(7T?g zdED$7$ZRl8z-esJFY^AsB)}KwCPH)`KN}5#q63yvDG93lIjSe1`pzp~##0r1F#wfD z5E1jkKBb6O|BRvICn8DCsBLyTx*lwQs)PlV?@A;&moClv>gWj`jACuzBQ~hv=Mtcy z%s2N(!J0o8EyQL5{(}G+bg}Vca?#hjeVSE*u^6bqbZrDRZlW?#Z06k?AS_IJ9{$M| zlp7K!*st4naU+P0JAvvNmFl^SV;K|hbd+Q<6(wxvWyuJhkycb+WL{^M$9d3dIn zTvppx=^MamnDb6q$Sf|)m)P^wzUweAkmTUp1ia#v;RTl0hWJ6~SQFSTeL>YjJL@fR zXrao|jcQB(u{JwSF~wQMJWw06Qc6H3CFvjOok^R3VCeBVSKec2*l}#$_~|g8XoJ_# zpd$O^`3ISPy9J-0?T}oN-5E5?^>fe35^)#)xIbYx2<*&*hl6FRn1?BvTPrOTc)~N8 z7QRIXSjr!LO9uE`kFPzM^lsH;x_p~I(yEeb)SSYGct<| zHeJ>DE}P8`_!IDedSLXxKfu$;ha`&CPZc}^9t5L4xVV1v zJ?MaL&XSI{3=;(9Wd!f3#Pd?h!#jT^`cR2NtI7s-4 zImq8O=oo6N=8PCzO4qgl{!e}qik)@huL@MO%-9aH>KF>Z(&BD2%Wi{7vDf-H!`iy@ zm+Z5SwPs#GdIjC{+O_TJV$!ql6>O~Nir5czU7lGOQ)jh02HDQA7n4D&r+XB+;lvB7 za`>@pLoF8-RCoYB3Bu!k^nTSmnhna^0dY8(u4;7-N8DEHHnGLnxu^B*Mp&|-Id<59 zgJOA_*@U@O4a@=+Chr_#GIGD}geI}-wo6DR8|6$b{@%RATx1eI;tip*LMi zeipo36LTGY0gCJeg^&nu1xO^#URc>R$3~RqbcNQeGo3yItvLLu<$a4waio=6{gZ~( z`TOZ98fJQAVqKspmE~l4(tkyX;o4WbQ{P;uu^j?-0`d8l%r`PVgX}{CRPV$TsX?qZ zhmKA)l$))p(mKFotZz_Zj7Pa^B?C=kWi1dtmAT0*4kpy~lBmMjBLrQsZACFHYPPLXTGk^z zY4BYBkjJj_Dv$&LsiZ6kAh|LK3by*gF37F*dK{q;pbrP6fAg69Mp~fQR8reH#8J3p&wbODdw$Ge zSgb1cRr-}EtxZe&D^Pq%aj}8CZWPqvKY-IcZ^%6-4O*0*ISm>Df*O_mg;FA@BdQZy z5wV*zF3Q&f6vTiSFx9&%a@b0DYymA=2*$Q|Pobt62GiYFTKf<$EqE;;_g!$NVm3m% zEkZ%cCxx6I{Iksb7mP;4!J*2t3Eg~J2T{%1`2sMtf?3U+vgi3W;Vk=8K(?!Nd4&>} zy@XNECcJx)M6U7OIFc$8S*a0Fk)$Xao<>lnS>f$MMl?Hger_PVm(c+)(M~B7f^{ui zn$>{CGPKZB$)MSCt`qtAWNl+e19DTtUIr9e(_9n6btm}#rPQW#x!}&!NJt1>#9Fvg zwJyfWu}@ddQhBw_8xT3CUYR(dt*AnzHyC-8J?~S0D}psi$C7XUN$k)Rz$EN#&LjYw zH~sDa78HBZ`RS0EJ&Z(M)TWEIRu)8nOTY+WDE!5EoCFx^)t^>%Mfgp@B9yedAd-2;1(Es5Bvm~mfj2D&WF0STa(XXC z9xzi=?7+_P|vmXoTBgoZa#&hVA}#&F=! zwN87VFe+TL;a<;!^F=Q#%Tirn`E7~FgHn}Nrw&Dp8jQ0C^Q^Xy_#B8sZBV>&hV5H{ zfAMlO(+!)gxmWq#(q|vVghIoO_N4+6-Q(YrVwfGYhg*@A*5%(uuy`FQQ&!!!Lo=-> zp2(F;C&{Aqf)Uhu|B+Bek5K9*UNJ2QMJvHvy_6adrV_MpyUK1^4C1EI!9SE}E@@-& zWCB{u+F5`z#ySiVR%YXY$fNBR;E1w2b$q1Y`+FIK8WIVBLc~V{+8YyBKUARJ@Shpb zoq0$lg3p9;V$DV?dn3oLo5GKJsjmlFbWIO^{~q+-c0i(ChU65fi>Qgn?YsolrMq{I z1wjCR?b1j)lifn`3FR@$TYCM8(vdpn(@uEK0-3e>ymcxuO5ax9NJuD!t10B$-M8q^ z3kCo_Cnx2!`_*(lV0OTLkHpzj9J`{_L(KW7$f)r^Jr!h%?A)=3r?p7M<*7A+m>zg= zUP<>Kg%)5gShyH6PXptB4sDdX!ywRRwN6(L?_L%jk0457F10mxp&-;$QXt(Z_*y@5WA5NG-wxEqO zZ|t#!Nd>aHdf#0Lq#L7~%@JxiD-k?H_(cq&aMFIlPSYxrCQUo}*&QB9bwf$Q;5F7B zN~az^L~i9<>N(rW6k!J&iEShY;dhq0Xoqv&@6C&nMBc(+oB?fh$^@&iQ z>j8o{B!U(RPFivaWp@xKnbMAM{wfjeh@4Xp8jb>GgB*rO6uEgBE{7;JHgUDByR zm0z9H0KazIi%`1P3B2L!fg<2k`qSFTD23Ltqip2{JN`OH)vLxgp@J#*`IH?q*c0wb z_EQCh=o4@|c+c1%yVP+yi*nmX*autu9`IbC#XJB_qVkIc^cAJgS=i8X8fO#VkXGsg zIIq28XrGnrcIOA7In3o}SD0`e2JY>%$L5uI*XzFFl5#U8EGq%qanVC~+V%{9Fw2}u zIW8I1JVDJ$!qU^bcBzKW1>L4Be+er_1zQ3--gct%Pqxe%_{L0J5LAd*L$T&Uvm~=_ z#l5gkeCLxZ?n|sEy^jlD0u*y!ic2jYeCNiIi;E)oE@lrEN1F z6UX>@o1uUxYhi*TAbravTUMzK_I;|0^sL7`hYoEmwatfN(@YHG=06=lquJ_1rF|SU zoj_&Yd8*JmCLh+%UiU<2pn|aANc0DU@sY#`P{5F{Jq~f&KrdlYBHHO3Rbj{mxw3$f z3&-=}F>EI;6q=J59XO7e^d zxG4RpBRv7~DN=~bUJ3!xl!iv!mFfP#*Gv)9W!FulONm9^{3r7ePW~rgXC=lP!OfP7GeKaXZ zrugK7cDk2jow-QjaxfQ4iFE+?8Y911O5-q=s6xH4WKo@`O|wibc5tXK%Y#(cdJzyM z71vrkG)&7x3;YUusAYVuW>!fd^qJC()vOhb+?&a8H_-uhM0EIwh3>9v8BB&o$Mz0gfA51F!I+tl$ zT6D5EE5uwY12&A5#}_;a5SnHV-u&^OJeBR_zrve)wm^&C1 z-p&3!=gBC<0nt7BMab}QrNtWsJ5be!@c}aI_nFYG!_(jjfZ`o!g$A8Alk~>TOScp( zG3FeZv=p{0VBdMQiE18j&gP~I8?PJY-&Ddd$U3TEpV`peOe>CXb=&+YezGca!g+GA zV>j?RS1bm!AT1bnn~Zo9C*hU-x^)ket605jQonGXmJGxLy4{7d;O6)$6k26v2bJlm zh}O7XZr!b4qHhZ$I0}}#%)5&>!`yAgeH5$YIC?K6w&?C2nV|rRoUHP>?q6-(azp5Nidbm?%_R3^cOf9Y z_=qpdMTbT1gy^x=O5GKSTD>jrT*CX?_T8-gXhqqE92&ZuVazB?$3URx6eJ=JhC(KV z0?I>JfPqK{!umOj1l#4*NP+IOOr65bT2HO*1Pc>#DgA8Tr?carCOd!;^m7Ij_B%e**ZnR|Nr0u4jZ2E`!A-XNgIV;OZa{U(7s8#xOV2q6GE z-y_H&S_}S!vzWR9Hele2ys)*}y)rhRK z9{6ledt%TP2pf;u*9urt97NdOAcyKZo#F%GN{u|hRbqwg>#rjG&?~zwtWUVhtD3as zWw)>dx}-pqFRko_w`nYHvlLRC+sASR2uT88H%|(W6T#ebZiL+cS()uWr6^ohpei@? zF#5(dh_DE>QfJMUaz4mo9PY`dqh{YEEo@wayyyo_%a>SPRy~FPU|8VI^Rt!)?yNG| z_1=Znxw3KTZnT5@=s0A?_`9G9EAXc9TfhVisLxXontxfzdmU4aQ(R(!jTB&4NQ1#M z^^mrQXNZ*%^Rg=6&fhKcmK%<~H`WoMOg#Ju)g4laFkEU0NC9(U`UeB<~%$^)_Gac5i(Y&Qgeb@JQ*T%6?Jy8d@# z$&XG@=60*;Elk5pZ=3^OIVNiM8o6GD5I_p62{>j>i`Qn@3H4XeaBaoZB?PpWpRhgM` zY8YcUoiPx5(MY};@7WV zyQNkF0(&_KpUkvicDIPHw8HfI=}Q`{iE*`^9jPVW8gk1QNw~|e;fD%?Dwd!>s=9>G zf?U{}O)jJ<`%L_+Zjukd5oz)~%{Kbq23S1aHHq5#W!FU~_A`*lUkog#PV_xK{H@WJ zy}e0(?WzC~ZE1x(Z^IbXnG8td@4-HgHM~so#gbPqf$|;cy=bWEPSpW28D9W86 zz)fshKn&opSY-+tViYQ1B56k!@EMY@nR<-EMvJ%It0`8MpYyFP3ZF#R%f9iB?cyJu zMfB;1B;^j0_=tBox&RVM#h@)jN{88jE(a>!=?_D^I==1xsFPxJ95$Zz?nI`Q5k=}H zqd?BLqyTXoDLzJ(CICWoEbeHXf89UA2#qus?~hm8izKv74N3se?2SO1O=Q zYu^J}jdZE>&aB0kwzb0QOK0uRr0O$Z>j?-5^PiP|_W?JNMACo6968y56fjbS$r+_r zffKg}{}Ui#gCQsWg~&)5W*Q#my01(F=SeU(5lZm@=7u`S7lxW{8eZ!QYp)=C7>V@` zuzE(G9o=7rS{e2wpC%#;WQcm1f3sJQV8&Stg9do(_VtJ^_@I7F=bw4<^WVISjGi~D zPnjQ5y8}Cv5ELK;!`AQtLX*&^R!6Ofv6!3Q8z|_Znq0OrSg=2yXPW%8N_zBL%+piL zzSF?;zSYca5&=fUNN3!TEefeqF7jTp?WPRi{d95U8bt_rwcB&EE!s88Mu15%L!_&p z|C8$ZE2ELSh4!(rwtoGFE-a`^zayT-FZSjKZys%)l=Z=me=4zVAs$%U2Fk0;3g;+& zpVccqU&mr8w9!R_dFE2Q3QS36*~OUBy`QAA!Tx)9Y}(Qu@0tMghSWFsA(VB6pWJRa zi}J=X$bqexi86Ru^Y`&q4eXcx2O)0kGstd~X&iAeO?!0^-_qn8w;(t#H#wjtdReec z?gIpX_K~VZtK1p%Q}fZ3D~s}<@`Fc2GZT(g@60Fd8W`F;^|1`@bTctx-Tk-DnStuvNHh0!T;7Hkb8X4D>d+1D5(U#qZVYF7-{bWfJtq|tYCG}u}6LpTA&!e`D2 z)P>b4Oz?i^flB|g#)!@gRDu`H0l>74(pnm`Og)-%rU{apHbBsI2B8$Z-}GLu84%$d zQLN9n@W1&+93E2~Flo>-Ch0M{DiAEH%H{yW?>^ii$t`Jub-`JNquyNZi^!o!Ie5DPa> zN>WNYKiG%rPg#9owfa^<3`0iCoRS4q()*!#=HwRUmV3;h4h>*-CSRuAft5ux_^5Ei z#+E;^CV#8W&&!%`D8SHZU^^bnw;?l37pM@aDr_Kidjum~btthdMljUCkzhD_KH?=; zX+U0SlIcG(H_D4FwqolT^3Q_T@ly1VrGZV6U`AiaC|0=(4l67unAaD;O??M}M*RVT z1j?c4-%89Qs-T%059-QLs5k&U8iH$EQH-Lvdu8`?Yuc>+8!=+=BC}0#6W&o%`aDp^ zy8{@O*ZTcKc~;-;yS2TS9qB(me-g+tYR5n!y# zt2{s{MF{7l+%ziM7iut|Kxj_GF`?!CvBPFBdf zcLo>r)6rW&Pc_Uihdu}?WKI{P41$Pj?Vdsa6{r-rulc1Q@=RSu#f=$8>u7*&>5-JH zC#KX)%SKr<2aUcG%GNz?lv1lT`!o`IS#M(=aw`cLlmHS* zf>bB7&ek|-x>^MAB#YGnLUYQ=3zp{sJ4dD07fkWs*!z?@y^EPYY&pZ`XcRtE zYXt@scC49(fMrr`HIO+JAFli;TS*CpRBtIxMfz1JA=N6O3`RZE$DEO44Wm%e+?PZl z+0TxG1cIM!Bs|w+XqfP7-n&&;SKgYUwL>Xp^8viHUYaWhENdTY4V&GLmEsf|lwODd zAT2FuD&>$~Q`z+4W_l_W71qJ&RLnK$yG))al1Y%%@T8<2rhoR)L$V?IBasq=47EB- zwgYymu4cF*XnEC& zdJE7QARFeHO^nScO-04=1$(l=Ae4&iEUl0ig$+KPBz0G~Gz=45*qklaCPXhqh)8LY z9)hq&F*}x}Sa-~ZLx@u?xq^L=^AZo~*-=ktAf#v<(qqFMm;>>a1#dy|*i3!^Mq zrNnp1{WbWf*hfwG#%T9uOlxkcQY-g^t26u7xRR#P;%nf#-~1(5dy57%oO^uA`c&Yd4r6ZEy*##{ElM!Tuk` zvq9~ek{H|MlO0AxoJk`M6WOf=AW~oz~7a&1CWdb}quol#4L1Y^U7nUd_StzY1>Q}Xyz|$zv zu8{-9=A--uZ05#4CI(I)iWnvS&lSj_B`Q%N-t=%-a+G=JOoRqZ!0Cw2=dv}KbE6I~ zgX#Kx+IJK+28an!;A%V2FRD7@25X{V&|-CseqI~BpG&YuWO_qK~s zEJZq8^=<<5CucvHSoSRyfuss0oX-tdHsn!ZS!|`iDo+;uOmqw zC<<>NASb~xn<2BLrN*FVxj?6*c`r0PksILlp^qD_)Qi!OG{{849mFCGgMy41NI$Tz z9c}c{z$+%mJU=wPigf6@w^=vOlUCDvKv{==#%MkTL@JN2`Z5aYVdj#a1M3ujiStR8 z;kb@g^s7Uv7a5)K*LcrZoDmy)i(~a0`}Yn3>XW#}q1fm43OF{9LBD@u1YaqNU|({8r`H6R zr29rBb4lO%$cHHIoE^(K!9X%b%gMplQo*0b)Q#sY;dv3YM)XDWGrjd9c# ztstpuTO8)OB>03fKE>~n{j91*dy6fQ+a@#_{DN&Q^s1WD`G+{AIuTMxfU8=g3wrt1 zpic=k;JCCLg|gSpA0!vj23S?S7o2JXChj=9pDnio^jAIrrF`xQ@mpY?dp1(cOn&i@T*%~|5BVqpSPhj2P^rZR^&{$T*sNM1u31Au4xRv%j3C$;r@qw37pBwEPP58Yx6>I+WaUa$|f}PgV=`xf+Zxll--D;Ymm4y zCauk+Gkv$;h}Y{OYEa;DSn6*~f2mA#G|~!^M0%2^nAR}4!62&(+6PqwB@I6IxK3EF z3O{O^J@#thlt-{yu^Eyu(#Mw?$UM^Z-By7uFh-xmk!aBdTum4dQ`gP`sjW7NE1Urj zv3(YucQ7(goT$Kq*?I=U0hpB1j4x}L)c{)I=mwjCKvO?*7-u;G>VLBiW{}~N2ctqH zCH)V|M?aFz>zD2Zxf!3R!>lDWTof`!E z!0JW!HPy8NpYOsJ&4V5MVf8d*=-m zzed=PQwAYA>XirlV{{T#ej>S(NUGx^lS@H0JSKEOb?zY{^X*dn)|uRM(@1)x$frGlAeHEbUOpbw^(W#!0juwS zM9>|I8R}}krTST2b%lB{xV~oLuyteheVMUj>AA$sp;`G(&f~WD;2oRjn7WSggjD)1-XQ+pEE>LrrV}>aXCc-#mBg7yCdy9?;`HQ$kPvdmVE$ zSvVr-;}h);>x2W@2y)PLN;pdXGhiTx>O~@#Xi3xZ%I~}t=bHFhpEDY<0DNb}U^|1u za$?l5-G!g)HoqX*FQz8q)~8~h5bfx~UWG`Slwb&zLn@XkCl+C$(~N$1ilq9w)t=`Z zGT)cnbv_gaXson?d@cYa-V(LVBxZxd5xrm*N0AKc{)I$i6J)dPy&ra>?X;JJQ!AVi zzk>TZp)n3j zSnpqn;-6^YT@PXt%&;G%s*J=9BH~0X$o|_LARiQh1aNrpJ3han6~b(MOp*bsQnb$W zb0C|sYUy|mT-Hqr%%U8vELd8rI}^7^x1X>lB}^Q82zPnM#Twkuz#LSrAKV<4su(KQ zr^!c@xae{Cx;x99&_XM|l@SMEN^t*$@!E{{`>dhF)RZKJ?Lz_xy#@cDMW1u!n!SFY zi|!+-^{hvrH7g63mfXA14Sfiw_OF*v>`buU_a@HQzYawHWY1fEnY~`lm0y-uVqC~< z_UnXMt=(UxF!2`G60&u=CAsSJiRRufm4)Bni zryLsAL`FRQJKR-3c&7x?M6oJh+P0g=7og->=%7wB-8~2r2r~~!gDsVi&wsOTl&!A|ozm*ArCFX5%+wP8~|FH1A%_ z$L1u`S%2Hv7Y?L^^0xwABVEy7fz?&`ZOdnia>$l$2|HNd2bAv7|N?+CFep5izmhsB8We%k!`|}g(+a*n^T=2^cBBQ4EEh?o4Mof zN%n~I$ame<$VcvyVzvr4_;D-37Ujn#Y7$CQY7#RIs83 z5s1kEU;sPPdfr6(!dC2tP2-rpy7e~JK_vdhOhr^REY#&{RJd&~e+Z4E^7&S`w_rSb zv{O6a4If-UHDLirtWa;iGc!k$(;R({?BoJSdo;E+5;b~9Y`QJ8rEF8Jiq+@TLkq*a zx7>ARM>_*KZ*)ZX_p5l^z+;Hbz5)y zP;=NAT;y)cnE^DWwvw3M3O+~`=CIWftNm%wpe0wOCt+AkLDF?hx15=-H6X<=Mmx>i z7c4ms+u!ew@);yB>gc8d8y4`E65iEJ=#&?>F4RCf8YPsVI5d+o4;TIZ7)%=oxa>mi^Lo6nG%~tkuD0WU%YU(`zbc3Ew-hn+0ge8;hNh1obO0zc z``97z1T7uK@vBSVXa1zT#zQAtl835#S-|tUjS>Mls!{l1oJRiWveCN;S9PU;zco+9 zk8I4Gl}QO;wWB{EpiaRm+^dOmaP92F?b7Cnv%V|HmazcSH6+Sm!7in`)u=ExyfIqp zmCsm>FD{2`9I52~p$1;j-A)m5pPw7>O= zy<#s~Ewi*Wpe1yzhCNjf6^6b|TVEdtA*b$s!;02rHn-NfXiWCea?l>ScmN1Ay)k_H z6^#nL2Ju&%yb9?K_(Tk#1!7QR(b1^v=H<{DvfVjH_G3sOC|yqNy(ypN>oS}_J8u0vCP_Me%-oa$;b%sH7gT3rX7-oW~9Ww@3AGZqC$R%DS#tZ zkfzk8r?!o;Vh0dE1>{>a6k+xqS%@$W*>s(3ormS zltenV^s!dsgPh5?8af6Bu*I^v$Xdt;FHk~uve2GFfmFwl@MCzUki(wKsOdq>0H2ck zJ-Sv`;GDk&VKC4PQiF>7cl5mtfo-0H0fFBw2{F(K&j_gp;6pD}-#f&BN|SAuDTxpE zs>Emh*Ubh-uB(#B- z%eI~lJ@~XhS;-O*zBm%~;c!3Fs1`lV;Bht+gpkt8iJ?Q)IawaQXspo5smPYg)y1 zj_Sl;t%#zSALTQ1uro|O_8t11S4KW|o$#d^H~cenEp*K(i4bw44(wx@t7$Eva%Y)8 z@da)h_Z4rmKn~ka;Lgc7jv$T;#XBvpX`fUF6$7|C`AjJle?dp*;eyuzg^2*ORbtDt zBX5tsd>B9nT>=L9I_ZuXGe;5TKr=Vu2d-qqyGG&R?K<(LvD*K;Y~Rk!D!8+2jHvlF%o98zJmnHAHmk7B56 zAkMzV0oqv&ai^-9@?BCXZNzslYC8nUCPm-x>Peu|1*WNk&oS7!!lkqe5HOnAF{ZlA z(GJ0{Vo?j9YbSy-=c0LjmUc*k^a{*-y5n44n(CUN4eQkn?%%PT`Km9GH>0{0@vL`M z(iFzxPp)x)(j6RLrw9d}Feg#kYkESwdB9b=iXX6E!#bf-=E3~mpr2l2xb#Pxh7Hjo zcS(;Md$rUygKfdt*yKN-JW4Y99D;{%dCDEh9*`GvGp>{(xVUnINF`a>gwh>D25esa z`;rsX;nbCI{H_#bTOfy9-H435C#a@^r6Wzz20%4UWPmo8T4eP86Ak166uDvBLmBB` zv+|0zFlDloU(_ZjlH#O`nFMhLtIE)LdBToITaLO9tdn46&@q~Vh?kM2gK@R}D4sQt z9a$044Gtne14i_v7CHT1MHq4xN)`cQIygLMS75c8YbLcyCz^MSU}rpiZQhiHmP53d zg2*wYleT25YClC2rq49x_^+pwDj!X5uMO$^$m|jZ;Q&P|89dGTxJoli4m92FA#-rE zg`fc&6$k0mU}58L=T0mMiEYmRx3lr`OMpMoGdSTyw{CMrv&jhtr&qQ*;Xo(bxyU@n zi3TJuy6u@FCsyXp4NarA1z>9gsB2*lJWr*M4Bxn22HDpq+y>5gvI8>@IkoF#!?4Ys z$Pa*%`46b-*a3UbO!rPZkrJl~_JBPnA_#ttTE68k!ZFT8r5ZgSuxBhS^vP*~&4#`( zFHkq^r!J^C_)4;H-dMHKPSG@b4wonW%z0Mh<~b)NLK$B%1{IWm@)gPp&UiHiSpsew z-*dyBsr%;EV1#m-$(!@Pm6m9oBKqMHBox0_zecb<2%K>hNC4Knql3{OQAhNFS;xo} zD?2;_V4m}d?L%=df^EX~2pQ^9B=pyy0s0$jPLEc|%#__jW}5ZgM?1)kX~V@mqCErf z!HSdtTnIrUPq{Hsd=&am)YYG?7Le>13!_@a$^FJTc#g3QI4EA%^2uq^1~w?&%g&-D zST{QcfV)GQsH1TcZfCEIOk|DVJ9Gu&ITkdLeu3w4yU0^Py@@blct#Rv}=MuD<7D~6wC@jpJF zAyZ{J&P*2mBXQN9&q@PUbu(tWi%El!CU4$eyy@|83>okyCPwqoIrg|z)s8AP^rn;j zMfm}A?QZWU(s9>V2HK4LK{N5h*gj}-%l(Z3kLhymc)1C(%#r?)&sy<;nlaOPzZ^j0 z+`EaJa{KXvpk zKy3-1t*BDQy@=2~r}&DXKWnTxvRpO~(IO*XOTEC*_VCI9{+==2^b^X>Yr9(3GICl? zn~9x&{5x#nM#$>EH_7d^Oeg~gDxWlWz-n<;jv8*Orv(BP@@7&EW$a-#$A&LY|IAs2 zigTH>pnj3zXhDH|%yO`|ir+x7hfjJ3C!Yl=NngCq;7h*IdrIjZtEz}hX=EzpXY(%` zY=OZou4j3=nV%(KjWQJ6m<{0hzL&Vgt%~1h8{bX_2^-(pSei9b_0IYheP{OvCEv24 z`)U8;z(#07y|?Slt$5gpr(QMiPZ<(4HMUBom9 z3pyM64R>}#LqkUYvJm`b*4F0`d!TWQjL#{j=h zMANfqeeUm(J7}fGlI#ihOWnvxJkaPv$Uy9mA<7_>JQ{?+{PXK+I^rb2fbi1j0hZG% z%;l1XlChbUjr8S_gl1TCT0Ov~2t$nx`k}(Mg`W1NjROV-bsq21<@lOtLr{&%xwYeC z8y+g@afC$(u~MlS7Bit0=0!4|>SbAnKPWxFi9>pjUeQ3}$j)4s&0uwLK6>~UXo+o$QtOx3^Dsa>O&yVH;Rld7`GV>24D7y`a{H3$of zA_nLHV5XcfvSE|A5&vV5mfoXOz&+rQIE)GH*w(M3MOqXlNm4`3NDU1o8A3{=mli02W{sCK zYj6YqwIBO-e(Y>Nxsyls8)nOjsTG^iJR*$GM7x!IvT_?-@LNFWQ>d!Wk^%YeQyt9v z!MZXNutF|9S}I$dbQ+VLBvAVQV`_~X+@DEwwT#37|+}<;+fy=ot$H| zdfhBW`Wq{b55CTRlYIip{w)q0TqoN`A;y{}ttT9EbXL#g3hPU~OsVcK7SHu6nl?NPu!+vOVl%>eJEw##$e zB=zzF*l)Yiux;RiK$R_blg9f~89QpL#b8t8t^|gdB8^dO%bfY3Y*jB6+WFON$LZm` zUOji3qT8}dq-zB7vc7+pZIe5$3*X_y>0?6y&~<>=kkj?Y2;us! zhpwRv%XBUPF*Xk*CngMrXJFwBdTC!p4>ly=1OY|M0XTC?6DiOfV?YpPXCz;puL5mY z0;%|GN01@ufsbJEl0%M+M&k>V>B+E89dj_VS~*7BQ1>-YlHv|!DQQ280442EDs3qj z(+OUGKpp^VTIp2yb6VE54=lRMVR1bCU|>8BeblqywV*kPR1|0R9~gu#f0;+%-JtM! zmTf*t{X|-_blW3I-_$7W#S(ArD10`+ZS7(4_>m8-EB8WQlvm19gsVrRGXz>;i9X1bq|7$2L3>oO$ zOMLX>&=p zQU4~1cax^`ezAuGlWR_Ot~gejaiJVP^z5tO?vo>K(A#2!dv?> z`txo^gOAY*k8gz1)}@!?Y;6Y_3y;mPvnM>}0`8bY^aY@hvIjP;qr(^Q6@!1D*)Xku zw!4Z?cI;|kE4~*#gQoAx=i;=ZV5g2a&6DLlRK`isLeai)?GTUYI~GM^U${B5P^#xl23Q$}r2}%|$1Ty4Phro<&VlKWl?PWxqs!Pghl{NmL%yhkxPMp ziQWlpMTiPFw#CzUb*lV6UGDTx`>N>HWe$RD225=2k{I1IWtrh?k@G|iD=`4m)1cu< zL&AwMF!)@L8mTpAKhBf#goFecwj2~N%>Y6Y=aKpg>YBE$I@$yjqNaB>c~M~n9joV2 zZ$VS z=ncM&B4rPVqPkeg8TKse&oWAhDv^0U?7wvG)pnTnl1NM_uG`{jTgM2KYSk-O)I$z_ zA$HfcmPK%{-C;4{#g;54336crSBfQj^9jK9$AyaRfMQiHu8b+ylB)*hgI&o81qOM3 z$`qfR4~M!Vdv7blT`sdsx{dynOMlet$G;4GSImVtNbr?A-*TTewtK<^+lSeTbA73# z>i9WVlrdj$(089DfqDQ@ig^1kt9&Shav~12Rg5`psoVf3ND&E!M(wgi(OeBGK~qjf zxur7t>NJd(u11p`_vF-7NU~yEHY|((MufDkk8D;jHsE#MKvbQ7YF?O11PRD3O;9MB z^D)w`wU*(!71c1Auw<~=Al?c;zV;#d1o`2}=4eTr%4`g2fm$fnEJ73q8WV)qnnJBZ zRlq62M5Noq?J;ZJS-3hkg=!+q1V@?Rt7Jf>!yQ)&q;qDA!=tB7Ya^7n-O8%Z^l1DUq0H;m!Az&lU^#H}HG$zW}>?-W0U}Oqn+acRc z7Ax@cx(UPm{=s1zD|xlMPv-0QD($A$(jcvS0ISy>-qG2@2|lZl8s*FEtW-2Hiec$_zfxk$V$wi@ z$bv3OX9h8I8_6E2G+!nsj2o<%S$9zz8q}>8`pZtiHJhj;a&Q@sWU9_an)jA#ZM=G= zDqz5FDY6N3H9lBz*(&>zLWUN;1jaVDQ09*i`6G|AHQb(&KV!6(_otwlB)%I%Z>krk z*!scZ@-uC+m@|PM8Tq$b?Hz_(Bj^7Eeofpa`^jg-jv$}7*s+EDsG%_!D3=Elp!BnT zdsU{spwm1rlf3curC{cd?v>bO8lx2nnW^$}M-5|>b`>Nj9tuIcL_t36IJ~D<+z(`#-J~*_bAZn=mmz zp|8Ldjbc#Ba*&b-8N6V^fuT`ej_762X#vu=CDtp2G03$^=g$HtCKwNz;%iO~(j*Zy zXT%@?_(~13?RYZ>10#*fn<+lZw^S5A8B`8AAY?N=YPhC-y*07pLKNO+Y;J_`Y~$HT zG$z(t&0Dm`1r^y?^&Y}yZDc)()Z(5#xb=BHFPha0lA1_j#$2xqs>=x0PuIcqF;eE^ zceZM}JX30HoBj6?;0QaM7)+f@t#uEj3jP(hn_XO@NC;;+{=?@h>ccwgbi@!{*wq}N zS>=;rbYqX0nXHpi>!e?PFM@!YOQI|_7dLvh$VhyiSE%-2m{+etllnSMBzlVN@(=ME zH2KCg0h&1z+8Pm8Y5B=s(JY}R^pVtBn^abto0EV)M9 zqkmUropc#a$<5!+;l_dd>(W}T*1?ewOMJT@F@CXmB=>;VzUs?Jz^J6)6Ie#+;qLJ_15#bIB@3 ztXn9@y9GK2eokZI6_(TS2?sb0W0UyoIKfYAyQ*ac9hPu{n3nQR`DS*33LQ@@NCKuyMO8Z=`e5lR8Ar273B5VQc-uj8ZczZ@~YUghm?+`LW{YdX0O?Mrsc zPU)oJd}B`P6$6rx=%U}@=TII;X(|<{Zm~9}sesDxh-INB{Fle2X8mhy&#ECzJnQL$AN{axNX6W z&8?(tD^V1JqWhsIiV%XKvt^rZ_GIx#ffW~tp(s-pj$O0{L5!M>yHz;w8l)*iOHRtG z&e^WG$yUka+)}VmW8nwfYN`|~^(}0?qI*{nz%B$OM@;aIPSCCUigoRQY;teMUkLD) z06ei%; z(U+Lpkl>YdH^O_CJo7_jU?f0bTqbbMwJI`gh)3$)^nPG&kW2*8Rw zPTIrM@r9&oID_Sf8A%-TB7NrDVe$WVWA2uv4B)`6((N1TL>=0(@HCmpUZoH)g$+5d z%Pq@71u#M(8=k()a=fOG>3bZ&vPQs1cBa}T9b{!S@6XS2W!uaD>E=)*%$4Tl>G%PRXeM+Hh;VHezO}Ra#=T*!I59qp}32dYeYmGDS6v!y~v5-#V7H*=;XzsvR5D(4+ z!o5(Tx4Q!bVMKQ&&ff8wv(dqb0R$>SG*@j$x1z?CQSE9C${3*-t8S09~tzGM@_MhGDn{HtnL&_f;&US zYc>vgafy_^`v_7kfjq-(agXV%&I}~;vm;HhYoA9g09@=CZtpPNaqSk83{=;1qnQ^3SBBZ&&XPh|G|Xl%*ZN$Y@b|b0b^0g;(~yeZbMzkOLf+lw~B@ zQfAe-+$0LQC)j6*uylp(+6wgUdF|H0$_uYhZdQ&HY?bfqQwE%@rNN(7bYc~B16@5QfZpf zv$BXmQ3GCNBJP_`!~rx+_moL^~3Wjok|a`{=nV;xF+)oRoVk zuWz<;D?%C9q^5eQIw;jn!w=(u!dercYmIm+cg6(W@|wi=i4AE}Al$>o3B->8DZLkq zxZcMY=Zc{!!~WyVLPy}DPT|imK(Bsn^N?wc=I`Gi`ziLGAsXI$x!^m*$F}7ie?^TG zcwj!K608R44zo*{Vh4q1;GP$|@!_PBaW$*Z6ors}mv|e*Gcm)0Q2#d(y)(yH-(+`Z zGH~r$tK3|S+Vj!PkoXA^hz0Ei43`lh2C3He1#^27QAoX}ZH8tgs7Mm$E=UU#wz2hQ zRz^M*hEA)V-S_gjfpZ+&A+;NOdJj-DupNnw2S;6&?JcT*)**fj_w{%(7NY>B^_tVq z5NT8)&;WSgL@lTi_=T5lz}=|2<#pk$3eihnGp*oRSZKPD0-i9{l3 zfoNb5RZ~J#S7Z`Oedp-Up>*m0Du_jWWi0A;aTCgc%pK1r<^S@R*DFjK&ooJp@c?1Y zu}h{D0)f=tAUU!~WXceUQ#^>sO8mT!IoL#X#DDBs*zGXEz(w*V@^q=dwpprQfuzdi zwua2GpyfyiwvtX&^Oh*hvzV!+sMR5W(&XlVuTlcXm{7k&;f)b5ji#t)t`Mk@K3yj6 z+Ky5Zgfo(7O12QzXdkOHx%B!_ZXHIm9iN1$h_ds{Cp6`9w!&3yfChC8gtk((;m&kW z3(3s(`CZhSC$Jbxd8BaUoG?#PavhXNCgR$8;Qtnz;1dzh^3KvLL~?Y1yoBnX+_bh$ z5=KG;3<{4ssk?rwR?hasl%i~5T{M@NDS>%_B0pUne7IRYWMMt^C&5|yS8ORH2j(lt zv`MfST}IRV3hFY=}SNf!3$dTeXVGypc zrI-8lH@yF6>BJ+=!{39s_*cEM$=exAyg2KZ1>ABN^wms#bz3O-D^UOXhqQz=LaH)| zm0#Pr_r)>9eH+d%6IK_V4G@?`O2nErOOzQ-TvWdg{3XWM$}IO)48c+| z#PEDOGgEJE&Y48!`V@!9|F+h_AkM8f?06)-hOs3sp|J`z-3c_x$EeK9iUjg&cUJQ0 z^rNxq6%9=sB`g5JzB-XJjPhXCKY;PIy?qGsp#<2pi#@aSKd{oFoCU8ICDy*ZZlPrv zmbZVs=rQ~B1M*Wr`S{t}L!{|vtntvNV?e7GJ#oI5nM`Fsq?maRX;C?AnIQ2;qzVPW zM2QWEjSl_*P!0DpWPU&f0Wo0S?tXyWl20DbyUDON)@W)|uvtZ8tK|hXKuVK!VU9^R zDu-n$uRqfYERQZ7NCt>V?`W=I(;@d~uCG7%NaM?*LfrhUns~IF{}c)G7@lM3JbE2f zqzZ^)dEbcfpcsNw?f{uys;$3muIn<(n-T)tZ2FkyP28~ya%sdtGH%#dHD&f4iG^{s zbOSVT?*JN;1b!JiynzdqtXePtee4!z0lYqy6UOOkjhN*>zF}E(Lx6V@5oyB7PqKuB z;b6s9cSMsXX(n*s=L|b1dgKZGTd^j5wP#eNh&qOOM7*;IkcE-Q93MC>t2Hv?tVnPa zFYyug2DYJ}JZ7mr4oJXV-kkh=Ganyi>a5AhUKWAVIQ@`?x~0AZJE3BT)^+$mHi=Wi z@oYCQDUlQQ&GLZ!kj5MwQLu0LkvR}wg~?nDCODNG`MCcveep(Vb!JfDS*cx1S`?*H zjp}>o$*Yqw4}}FsWNl>;M2p|3qG+KTh~R?s&VZVJFJNPZv-V;|tJEI0mAt(^rLH`T ztEZ|ayf-O}j|6NfXtG8CU-u2e*sfY*g_Uw5zx*{%sFPQ3hNO>Ub9h(8Fbi(?&2G#c z`&a%~nLl&wnp^;i1e|UGS2CZR0Gj}w03%E#WEI895<)!*3*qXtJADfXmOK#=zwi&V zLHVYZ2hXGP!+)WoYZ1g+kv<`7L!uE85t#I>vNn}G|CvPnIe+))6{rE6@NtH}z-~bT zjU!0iKXY}f5_PrI^}9w&a}L2_L-KsyL(&atf%KWLHBq)Il9R4z|+^?KeFQKaoIGFc_QN@$yHYgH1+P7jp@LcDwg)Xt#CM)*V|0A8(yU$IIDO|wjqTM1FhqtY{7 z_^$qE0`D3#zdi1QYkkK<%9I*Ep^D+<#Z_PFEB&L|-gwQx@E8C978dA$PXq%73kwUS z0gXpv0ssJ1f`sWXY1kNua1&Pp=}d$`+IJ9VyQE=r*ydyAce^Q z99Kh{`!FbKpTUVDd1PYse2)q;OG&C))rLJ&79+!oV}Gs8k^YGX%q2n27VDuYw+b|v z7oL1rv%$QFXkG;(Vvfse6@ZSe&XQ+8KzJ zU(qx+HDG=>Y8(WZWBQQsG41CKNU#mx#mAq>EFhYxO(iKG;B);9rI;S5s_V*xFGYbF zi!B^Qg=mhrvH~iw_el##E@EDuc-&kOe*O7D?KmxDicauyW>rQ7HiP(vKk@iDaSvEJ zs0fQ;dun=Rx6fosBG*NA`i=5UoeDSG_MDUgI+W;auq-0Ihscibbb+CrmvAnsdH~+! zu<45`^hWM)p~emqM~>Vm`K2o3Cxh{P&mG}C>}==^d3;}R2G{#=umUPbM-bL=KjA}z zo>OyQ=wBwN$RwfZg|tG0V*nXZ_=GO%677t4KfQK9Li@FTHBaYCK^;$KLJWP1<)Y9P zF3+-T0ssAhdSFpNU_|M}KvWVWc>OPfsJAHwWJxO+7%qUJzHiptlD51WTS0lU-Opi0 z+9$0`m~{k?4D&8~GvDx)gEC3I`P2m1qtKi*l@s#KFN^ap&*cu&I;tUOzPJF8-vN|| zE9;4WwtTHaS8iDY$b$e$+(?^{%IUDUR8oj-AfrXkdt=8E(Nc$CNIrDG0j44y!ec6K zUeGXP+cmoDJ?Ls1Gw`y26Cevn#P(rccfUr&jx0Hk^}7;js(cjvD6Wx1`;an0Mm^{P4I*^lTz0FQ?!*C1 zbPoE(RXf{;IY$Kg($$hWH7`j|$#Ft~K2J)Frg@2RibBXS9F&cP7no2;D8)vhVuCqV z(-DUrtir%p+BbrY4XNTM03p66<3P4#9YVN@JBHR6Qx+4!xb^7Yvt_TPH82ES-bXR@ zD5${jF+j->=3|;W!-RK3CxUd0Kf$K=OCDb=Xb>dZ?`Dc?Ve2&D8Z;7^CAW?B$w>H#^d+6Re6RQv(+MZEOCf&>QvD_TbfN)>=9O&s=ynf)Bl0uxMv z+D3AaB!$et0Nf1W=H-_7z8*4gxyZr}>x|#Vk@AqZ*$*{hgI!YGt=eJNq-ch!@>r=H zDC>>NT5_&k-eTt$7%#MQbK~4Qh8RsN?XlLE1UqtQ3YO}pVqgqar5MoT8(w_H6KDv8 zW`e<6cZR2^ag0CkVQ4CRHT$Ldd`6OF1S3?VX^fn_qT>h)8i4QZkD3_{>zb1f*zdwh zi5#Cg3Z?dc+lA;5XOf$$a6ii}4yx?6J9>0$8IY{8_uZfAE|p}|F6A&pRe5t56Zz25oX^+L`E$}IoR=rN1#IY|CS~= z1k;xayV$i>GXV?sG1x!>04s+==8f7Y&NzjNKn67$G6cHD`?O@9?$+U0QKuM+D8*b= z>)UGx%#u+y6!{WBcQVPbkdHr#F(v&=6p%wMxiIw@@H9Sp)R1qU7q7NWchU?JkJzUG zg$JP#prP64(o<6K)LU|XoZ9W{0f|I{SZ|Q!8>%*COdz9hmpDpJD6Vig3DebvllyX+ z`xkRr>+J+Wm_c53heLpRuJ6SAkk^>~1R-Ngke|*=J^oEv$@43Bqp}ZF_TkEGCWJ?( zV4|xuwm0&*leUtqUQW98#UDU}(tFM8qSdw`(lt%+mXO7tSc&`Id*Y z#fkiiiz@)Cyq~drPLe`qGumW|Ac}-j27kSngaDeiOfm5NhbkYd;eUI>_2e4)*DJo* zp5UKvE;qRfKS%5-9wFZbm+Az{Sbz!`LmBcb`e80}d-TG0U4?xt9U@h*@b7FX^Eg`g zC+v+T3pJ#lZd?AW4CHYQn<~|FT%jdPX|SMTP{A`6^IcCF1vr)r2)xs_N@RsoY5Cn~ z!RN^l>3=lQg#efxQM-zH?mCBq%#3!?kRO}J1vIHTPYgzbNF{YQmwTfZ@1Hnd%V@vDhTEt0B6ewx{((Tq~s;~eDX2pA8_7Ieyr=O5uIz1&==y>LT zdfEV~#$Loy1qQ^=OJzyP02#lMUWP(8%)Tbv2+kTa6%G1v?4&vg%q@1-64UqyY{vae zE3-c~#ywB`H|^*ltJNqu5p55Tjk8vJ{U(5d@;+Dp0&yWT%pZN+oNtF%w#4fHWR&NL z*%YoYmHL^vdtN)!U`*Im!|Dv@F+zuV7#YOgfF$x1SC7@qPej;cz3q?}n@sS2#w>HB zS4+cd1Fc#ZDin)|DIhf-H3|}KWe3EWr&=|&uFFw2a&SYIx}DSLTQ7CWawy{manJy#U`1U}g2rQT)WsKO2+YN%&bc!YX&BBe z2!7OCxtZiozPQi~Vv-fn*Mb)?6cZD%Mu;MFVj+%{3!}w-Q>4|P%>3YnNM7W^#Igo! zX&^JKv@8cJPTp9B|8d*CS~~K2l@928 zodX^1Qhc7ya4+awCChO5bXewKod}{8Yo;ZoarP}vQSU0Bglg^-%y4> zT3^Z7Nh~{6DQn0Jv)BF>rq3@I1sd-o@c&)F#v9jS%Pma6gh&M{V=AV0fLS^AhtciX zP`?b5t#*+jNgzAG@v*gYE(uM!o}GVOhL2u{>D~*+mpP37`2u1b#v=MKAWRL|+cZ2( zQb-VPxBHZ?NI4{VJ6N^0#iS_5p33$PQhuL>*W?(Ul;WI~b3qT3Dn{z(F9){72k65n zQ5909%N|04QHVXPJ+4C%ZBdA`);~YzuZ)(;d4&>>*+92L9zPt%l84ks{+Klrw#3Yy65;_~46b@13L z5HL6Z>U8;&(yPq%SHaY^DDV#0UBIvA=mrIx6{;G-hNTM{vg+sR<NXD0>N~V@w)LH#0TnNcTfYa02s7gdHT|0}=O4nigC-VCDjT^&~ z5K^)uR7=SkV$6ESF7*(OCGfB8`mTD>_t?XL?j-wuUKeFanrNgr}Oij74VP}li zXG|BtZoYVKNu<=KS3JJ^Mi$lJ4fgR>nR$i%DD5jK**dBMz(6m2`zAVmpPL$kgDYgi;UX6W3b>b@rP#G76in()V`^er#c!v)J45l_7JB+iK7_w zXcwXnBFHpcYJHE{6t!pd2;F{A_I%$3`fhDL@`5)DO{MCylf?D4&%Ra_B;Bl!$Dgb0 z(6jx%U@psxFqA1KRMdwrnwsb_NNZp9+*Z+CX>XwD2Tz!0C?N6tgJcdCn8X z2;Qh!SzV)J-PH zo#n=_Du}b_{2~nM5y=ZKD+gB`uA3^0JCue*iXCz2(s0#$L1B9JCu+ExA5t))e1}Hr zL=^*0vVxv{AMmq9<^$M?MYYtm4-nHUNJCe3TI{jC2Uqj)8Pug92g5e|&lGg~J_m45 z)_RqiX8`U^OBi8SW0ymRAGyPRi^sd>a&vQT%O{bb;dsKEZbUoY<<04%w(Q7?gbwVd z972Y@QfQg|1}-4w!y$d3Hvjo8su4gTil{~VD!3c7L9qGme)A+(pzOli|9wIHYB)EwY8U92vhyL)%YLliTLSJE&d(s+qfk7K|y@9h7D^ z`(8_K_EZgV+k;PUm=x59SAP!m)Ji%stx3@_Z84B!wpjY5yA6tBUx#D-q8B&{af6HM zwLb;6+60cMO^5%AoZj2eOB>KS)EkG!2k15kq1nEn1F%a2o`WamaIJdbDi){i(~!sN zIhM?;8eXtV8C(Kw25jzPywhErxRWzA|GxDt#4#3nBcOu(d>q`9B%x$r6`uk?BPPxE znqf(ZlO)#pxZ7`Ab5ESVo*9?ytvp{puPE>k3)+B%&&o|fiIkwt2+mK5EoJ5jO?p~Q z*anNrtlG0=*@iOD?A{t}`8b+gHCzUEgc0!E0 zeq44Fez}xv_c-E;+hfh|yN4n+pXm}dJHH*5I-J5+r`4%m6{A|8L5l?4mbvv09;UdO zBe?q)&rbR5iMB8g*}Z$;IB9niscEQdn6qVxw+lFn`(YshT^EG?nRiol4=Y=#_R!MH za)g!G-3vDgYrxgMlvO(H2c@I;(KkUBPz_lbm_$HFZJ4X+R;57Qvt3b*?*dWN0=I#ZEh@HtATyZm@ z#4vis6nX{hp$AbVbvp!NdKVhJM|=rdH9$x76@UKC>&V`jr^@xPY|N>L1-(v28?amV zrU5*c<^X0*xiAc-%%&x2?;$TbrHj=E#9!^&!lGtEPlTwCy!V8er_b1C?FAcmilzH<2+q*vV%k`%XjpO zpxxKn_RLXfkwR_5N0_NXfs->H4}gG8;H6btqD{8CS8cQ;14D?U8d?To+sKn0y9+Yc z*W3w39dolaxZ+Y`q^hkgyk1m#wj85MRVMliQ!&{QaHVGneIlIHvk2)|D@b z`b%BIy4Gk78j$CWb>PeNE7?hs%Q&nfbbw{h_B;O6d^KY`8(9H5(`St7oV9j-ot z6*bsm*c#TxAicSrpQpm6iJ-&q1{+nAu!9K8;yluPB*O$`oM_!m?pYp1$ z0CFxg-FV4M)Ql_~WB$8bU4#+Jfg3mKj?onrONVr$IvP@d!X>YAf&(ZDII{|?xV3xF`l3b8I4G4ptI#1qY@pTSnq74rP{MJucb zGZ&BQrJ{Rb0WBv*=EIgWn;I|CGm-4JCta$5K`myCOm=^4TGKdgj&gVOr+<`UZp=1@ z6?m>zu**TwU8{6`J`oqbv?P1JEIAa2N!NW|7A+6*uLM`8F;f-Lbo`eCWpO-&^Q3TQ zCOa`&9Wige4jiSiq8dr_ZUSovn{#G$0e1E9RAM-DtrQJlC^r0lmTGM{n%N}Nz#+_Y zIU>v4#kQ)VaTk{={Tt-p@#9g1$9(#?blo2f?fvcdl ze6{OvmU?1m#VR4WQz7Fo=EIw=%#Q#r@=0lpV2WA{Kn;j zTAOTPWwv4!B;vrLNvFU5gFjoO)BiH7#MgyE7cYkc{-h1PP!h5Cf!H7*ScZ1`D#92- z#T(x>EAv1-J&8gqQ;htIVcbF<#A@E!rQIZUVLH0A&Qw<8gA-Q!4TQb(5O~|*TE4=K z%Sfer+&6|!<82|IWaYAoTni;Y!#Wo6#;J~tNfWL8eV8%&(X(P4I+|`RM;)+LxdIJD znXPDoqitZd+GI~qDQ8g;LK{GDXo(PK=B}1=7XPZWkU@A&$V^MKQ69{Qki}pnklc#G zq#KX3J@5D&j=DDx7YZSbro{{oO&SnacL>$9G9DmL#3xSoznSFvp23=a8h+ z@oI{sv6O3{4m>b%qSol5=#?Z--GfEz%jXy&6BT@_Q;k2fRo!(M%%l!m-kb}iEi`sg zH)*l2pxj(y6#E^iPX@~eG;iR|g)^al*u4kw6gMJZr^+*@=&byV)siVa^M}!*KGHWeG0_Am2#%>?J~J=HOfNFh5n~8^qR>LpJaQPs zx5MJ*2yCt@9gX77|B*$b5>aovbT_?*#E<=qvVtH)6hv@x@yao&`L6_gF+> z;$Pd%H!_m6<4qeF_{srp`Ta?S>_ykLyla5CMN|A-9O|E)U^M%!97(}K)Hs^ zpl;WY=!o?WA>VpXiTnZDffP&vy3TwSK&I`TKtrhzm|V-*XezJ&7F=lY*mI&J(BWrg zd-|DC#catfA3g@9{^X^UkhHUF6c6)#4GU?T&JgKn^dte-P_nBc9+lXCq=87NUaQ)5 z1dG`!#JZ=kUjATOsB*9V8AMl7QCxeW6t%ByXcD?Zn6mt)41y+}$a#DL9F(o`iy$O= zkZ?|7sz6a#>EwmnF{Ck7R2D`X}=sJmpqw*`*K~`9P=#JFmR5P?AhWu#j zH&Ps_$-hp}y&#ByTD6yx#cu7h z);ld;B_UWX$c1rQZx*7Zt4-JVF5#F$BiN_L7!OmGiD9JYjM1_ zLpOluP%5%=VIf?>s*M^4djf7L0|cSVq3HPf?T}FGwwgPHy5aHH;zS8qTe7z?4HC_{ z)C>N@r|@P<`nv$m0ib!UoV=-V0}(69Q$y!}S}Tli+9G%1=THPQ-AMM~BNvO85k2+< zGqN%xae|K{Gf)h$Bq33vbnolE_F3gz#xo$)1&`(Hi2aQAuh@L22uz^65U<9=A4#)= zyK4|wUGphul$7DzuxKn%Y$aPBhiIMLfKk=b*7UU3NiBTfIn>3!(Z=@pZEig{Fej$} z4g@gaGgxXJ*F!nrXGky8=pTN3JdgvN-P}XSj^1IAsoXk|Lque7A$`h^aDHG#8m`JR z1P#R>>3L>*;sdHEjw@;5OMt~>OJtMc?M8ZYm2FN!*j_tp{<{g#pKw+dR>!2e7o5)X z&UcFXwj{o2u~Ekr))+})b)i{ArSO0SG>-~Stz|+r;=b&ZGr3I`^O1tK*(N6P740Pepz*>7q#T7Umwk(qf`aKLOY^1WYG^+@cQx6=sM?Dq~ zeqRFs^Cu`~LgBd}Fp$WGVO@wM>{`Ld?+RS?*io|2-6nD-Qx`riaq2&*MzyV1r4Hug zRiIP=*FOI`YYJ8>?6#pv%8M3JXO(-5ygA5<~`}n zl6MRvI18E3)H}VcldE4O=1<@sNS)(g5d6*RTTu&a18HvxL299<9QCsrZyJ@#G#AiF zhAQqV?)CHPyx#>b!-~_#I_sGa{-0&a!Je&Zd0n!4qD=|b(WQnzkfaj6ITM2+z0@wK z`7=O>^q)n6a@Ip&FVSd-{7t!vHMU(9^UgartDVk8YK=i3Ds6eZKTZTG9r`+D`ZbFE zo7GJpSO1g?`ooq@R@tl$%F-#X#7`hPWh!-Lxjcmy@XB$j{613v(-uT&?6y0z@-w-i z6Z`0~nts}xRgK@Rddyy?ZdGZURZq5;Mm8kqXqY8Qo(7Ycbki+tu=}ivYF;(!fl>kH z8-+7$l5}>8mfc|%Q(nf- zLOWC=W61809sl7Dh>Wq(#mpfaT!gDgc&jh_g?1@vHvABn-(g397uT7qP&>Vs+iJ^3$*wK8vfRL#M~-R9RGG z$G;HliacFQ>l{s{W9eNOtJF9kTq`OE?p}@{x}@nA60+xQqqE`tQ}1vca1HK8NwjRr zr{#*rhy)sPi8F8=fR~ETR9{n%lJ?Y98-DzfV|T47Z6`;@@cUeBvthN_@<6AUS~!E2 z=iKi6jC>A$NoMFs@tlM%4?#aE6jX2>w|fJWBD*m)$|qg8$X6Q68FAWrtSTI`C$XM1}i{;**Y9Qr5hf&?`damDToYWlXH}dO*GkgM! zeR$@M-^)6WD6nSpggnMUB3eugB?- zhk&LoGrL^={kJp37vEO;sS}QaLKW!B(1aT(NZf zp6fcSSxa0Iq=krjFF%_Dk&NNn(26~p;++CZIJUxS zv0Da#0it?LruX}Xb}il4cyb*sU)sOk&YIVL)-ZYEdIK7QFtGzK9w8?Xox*u01PPlF zP0&%mdX$_-@w6J!F)a^ClhKSDiK`B}p6M{zcUaPBITd7~*4&%6q{#wn8tv9MQue{F zFUN+~qWs@bm&j77q#1;_>>&#RWJeumj)Kq*7>qwvO@+SU|M7Ep!zIgb;D3fz@<+7C zBq1ntvg>@7gWr#OrqPY+D>&VGCSiH0s7YGSNo#nIquBD|L zLNE|n3)2fvj1UL^-IYvu0FoZ zGnvT!4CTMHbHFfY3-7v7;4x20>1S{ARJyB|c@kAiny8--Ewh46e&DFj=rmV)k!sE$ zMrbKjJn=9jc@)DOegJnNeEG%{?6WpdZz>@IJ6PGy@^ z<%d4S7woFZ+{_|>2-F7$ie5IpxCtC$%T&O3ajQ4I6(0@wlY@|Pg%m_St>b315+c`` zq{GezFmQ(F+Vp*KtSl-X)Oqcuu9XE=jpKouiX6Q#coeg>J{ide%&xCJ!lL>>+@(sF z^C!VZ$w>E}yqb6E+EHjlyD}pQt~8a4#4|h)m9b+B@%a1Y#-YYd$XIFu{;JCR%}X)r zn9`;gNdUP4 zQa~4EmPyygt2H2f_B$3wi$1SdLL<>LytqM?_BMzic_vDI$5S9(K|vJ=b)=hFdpiQD z%Aa-*RtcUl)wG$un%avH%?Z&Bwh5kFZ$5H6plzIEH!-bYgT>SfVh|YlKWs|Uw^jxH zIbST`nJFH>Y;`}X0#(ab_EB{(zuCR?0-ni-AkW`!sYZEt3%+}05g3Ld2pUENiGy0f?rK`{HUmUS-5R3SRj+vHHJJ4q5QD*U#e##TxK=oS&?iyB zU;#S_G@8@?^iq&&SV5Nyb(;DUNB|^$f53|miIRxTFJa7y$$<$`B)CjDAS)F0{_tuL z3i73Wrv5bli3u6esfFjgc%WxwDrijCe`+~w#hQW?G*q!RTF^qL%wT^BIxeLrCB{E? z*Gj9Uc4z~g=UnkYf?MU3X_z&t$)aAzkv@zGUAvt#f9+&55oqn*TE7uO#4geMoHFJJ z*S=tDr=DUn1swroBHvRl404Z|vSC795jwVUhatZK^f6@`uo25c-ngK-i? z7;{rYn-dFwpzt~V)thcaKF@#Xb+a*edI=|A+n)T6B9 zUyzg8XBx<4?>^QII2=4ERJlJ3U@m`O})Gf|%r!7|F9mz|uWgi{c zN_+6|fJW#fJw!mf+@E3KT2BU|^x~%3D5&n}Eca_}w?K z^iW|jO4TNX=_S*;q-hZ5uLOQPitwg~>(}8Bl>N%Rq;M>d0KXDcSkcAbG*&+rqVV&C z@aexKl+!g-4!o&Y!RZQ@NuSQvGPl?@(i2mr?18-3{wt($$4k(omxQDd-TB*GBx6680WhW|#WsDV?_M*F}<=I~^;atA;VS8m%2rdE~f zqPLz6iA30`*-7ng@p>;xkl=SP)Mn_%s736$#&&Y@9=HFcIXwP!K$fRwbtilpi6Lk1 zkEg-%9eRxr^9j4o!)`xd>8E4cs^Psy`ae(tikpl@vyvczr72b|UTNLAEkyJ!=4Ad)OF2b>uG$}V z?^*iw7rE)wlpc4u+X~|Tvl7kU_j>)b#G31hL%}(93bWB}k0zDTueY0GTXTEktdp^> zBo0KXPze3;A0UFm`GA;mgs~fk0MMK0S}{4iO#A<)VS(2}R0h z>+n{tMw0CrifX8)q{JFezij1xWoDfjByDA&Ash=G_gDwPjZ4SM*0hs@rsXmtnW<)l z0$XNTRadRj-?Ns5VI^Hz_`s~|yhXL`_h3U_t=%@EprE!b=`PjItmQb6Jikc#$g;3z z)QxsX)H8)8C|lcdU8&S{*@aqd+p3XBKxIG#OzCvM9^HwIGDXNWrZDJbsC9SsD&VgUwttjg{GFM&uz2r69 z;;S92*s1l%>8v+>8` z9}D@p#M92n=3!WKJ!)WRtWlqCv3hx>$z_Vk$Uq^G1M5 z#JV4cd@hkZw%*!y^na8wr)|YVOrC2%z~stm?f$CiGBZmSk=c5Na+?l;uo%Zc{L}ioP~DYS1ck)AMBwdM=iR0GG^78X@B2m_2?8CJFFE&?@k-qu-t~NAF^DcNUSt`bprr%KmZsd zAf5@N(O@i=WpOBI_5t3Gjxarudll$V(Q=?jfz6A-#t#y6mLZ@<5W_7k@E;OrH zDpR3Cztuv(9Vjfs`3A5Hj-M1;C411p##1#`G#7X7rlgVoEHDBHU*4=!NnkxV4nv`) z*WH~e(xPJRhB%9b9H2I|wTaL#GjLJQ)(I-QEK@^#yB>vVdM@c!hb+{p9vWH%6?V3r zk}e7~p3S&88PH0xTKt29rn)e5?_#jhmBSw+>B+e8sH!Tc&=j`FNLH_T!>04<$4j3n z>0g>JCFASoTP-5qn-9FQyFy`F7Mf(B%rIl5=xD!9OSiHr8YKnL#?XC3QCCIkKZV9s zFPQzh`aD#*=QR-zjh@2y1qF?iXRD5ab)5S%xE6W^;h8+FUkU~7QU2y{_eP_bnjJ%p zWx^Z`^Xwq_DVm2LbEr^hHI{1Kn@CeLP^r7u8n|p+FUn^LXk^D+io`}}zgke&rD+Oo z3vem{;#jP`MocUJeRUuXL{Kzj3Za$99A$ z**ZG&a~rX9s>g)wl21FAtshZ4vm?uY-Przs|_B7EH_C` zOkq%(#i?k_kKfvm7Wci}Tl-o_6TAaZwlz5s8z2x_tsk^A2*)73G`9zGZ?O;$=?3x1 zBpDaX^z|Z^cU#J|z=X5_!rYAg-vM)2_w{O{M{lGSYg95EjIQ`+-#G*4PVtdY!SV z_hwA*2bg`F(^cXMI~y++5>5ggBpAWN*M7TLy4kW#B%wE<-+o^ZZTu*3P33Z+B$o3TAmfj?lAN-3W=F!oVz zB?BoZWupb&nE~RAc_*~wr)LN1T*$kYt82}f$yNmqMz_wf=6Z!S{&2_1V{DmBr#YB>we*16gf9Yh+LtWVMwB=5`k3Ne^b~+aR<^LTaf;%zTorlDq|5?!RdN~ znb=dKG@08rw%OR61U7o8e*(5LnvNgGI4GTvKB#W`JGKI9wc)Rbc4QkaPrEyufu7Vh zp&&xhE?J&d8}Sk0dYO>GM9n+iQbL-~MqjUM^Xo{GGwS3?I|+s3^Xt62m`C^Y*G$hd zZnNrk+C>>|W0S^_fUfqyd2uOB>;-FPi+>s;u7Y$t#IU#05(KKR_Ba!V^=#0S`s(Dnd4qQ7;pHHp_?&t~jtzbjQ4;Iaa}X!#6ug9f@SNbgS5eNc(&)CRRTf* ztg~u-0csT4#5rl(R?Nl$qf_~Nlrg}eESalk`;x*@`~3&SfvPnAQQoZFTJ--0%3M9X zl+tktEMd6RjsfeilbGBy(>RXxs4VkyaZ%aTS+mx~k_7zA4;yo9*#k;9E`Oyq^VbIa zAeTs@8AkGQYk2*uyaW^ESbPJiw0ri?Ik%D(mv>vHG=qnvRgs)RtR9;LEWuuayGwFI zj9;2s7$AWOyvy%3NzFx)T|fq1Y>2&YU4Bh~Jzp@o?M>fkHd@cnhZI2ENGL({*C1U2 z1D+t6?TcxgUK8-kTJW92=dH6so)@r)X)swr8OJK-1%Lv#>pitWrg`@(TOeger{}m5 zX}3H$RAK)rHZ7WFh@@3g$U{v2QpYivw0w)`DgYAZP~&^6kt5~RK~wLmVbT6=U1(&m ztsFq_!?}+M7PxAT*FOrWtlvYA@$`hvmZC4O+$Hf5=8>rmB=75&A{aA#6$7bT7|!+z zRy!YYm#4NzQ$iIZRboVRyYJWFO4HYJIKqBp*YwK!7!|A@reP?0+~Qdz6}=LffoY8r z^uTU4%$5~eTqGU5X}!>6m=@~{8HTwBr6L~~0eelJA)!#e2QlJ;)h9`wI7NgkE*QvC z8;1mr_oB4#)?hRv<9=HTb&6oVT7DN^V1I@>LGW`g@CQtEF4k;VQm9_j5z0bpOM1-Kprw*k+cwCOoF$TzLbNdf zWVG!}EJrvqQ4kUm-I3g+bl+j*6dhBiW;JSz?1CXbRK%$RNFBNFKG z9!EPuGRI;ukx!p^NwkOCc!jMqEmx<$lq2k|%2@fjefShK^=Wyg${l>$F;%CsDBSgG zbb|4~HU6L+|I2=qO${HUVAnRwS|C3h8ouRqUZ{)a>01H3&-Fhok61K2bnKgJ1hkdg z7udLGU?R3r*G#jF`5VAtZi3X==Fl^rWhLQiov;B}hO}J@@$V1B`q)}4Kby!20BXdp z5_Xjk)c^_PS~lvv18errJ*;|JWO7XGV%#kcelZ+$RRDQ94>;^>lvWjY-Ca(!G_O>M zJg;b>8MTsz3bUkrUvWrw#o4RD)$*ZHEPL`OdC_VJRD}{%IhcnH4H!UF;4_DjKYS%F z!zQ8@^Z_(pR|ZZKGmOMeDIOaMiJ_HLG7Z`!Ym9S2s7zSaOdY0BnV>-h@{%^6P!ZP6 zldFovbnQxvFP1m{$5!ktqLsj@8c=b_``tzdt&_~zNvX60&t8seri%lfHhVD=IUp0E z3b^bKkB(cna8DwSLfuvRwN62|VzZs61htA$Nf|ue&NITxay4QCq5`z&V}F zn?aQUs86qX@0)jQG-WMCJIh7TI~0uWw$VCSFUMQl{mT$@Cudbc3b(Xf^;|=|mqu*Y zDfo_|A41=*O2y1Dp)OMWTlpTC@+jf&)Z)6v`URwNrW1agA^fzcxrZ5>lmp$NHYN4j zxl-{yiS|f?+Td4G&T=<2PKX}buG$I~5S#R?e1f(8PnhxZMQ<50H4A-rEd*w-c0dUh zsCpV_iRdDT5hdf0N#7k1mn|SA#BRDIQKRrwB>K&ld8xJ!uJ`FF2s~=BKd;cOS*ru3 z@S3PJ%~-aP%rRDQa>>2a!Yq785CKS1tM9d`*Xa#;!3awC!%i5YstIN1vBy!8-*U9E zyO&gf*R*%@|@Sh)uf?xDDbFlouHbg=^BKuHUss`a?)kP z=HTa1u@xh-wlfvIIsl_a&PqQkK%R=7go!9>{W;I223x0fE^OjGKi}hg#|B zyXfxEQRlCE^sbjzxhjgHZ}7Rml)Lv{`MP`VgI7{D_`%T}m$w|)Ep`}TxV>(3`Xtqs5m=tQ`+WN45i>fPt7l8 z85g6(SaNcG#Tke}f}u%-0`_S6l4a#18WQaeO{C z`yewDa*f=*Xj3MukuY@vA653i33~4l7Gd*IC|V4(mK5&Bshd#=9LlX>c41f@eF9!%g6vlK_ih8_LuNcaIy_LM?&^04O1ZE7 zS*p-ETJXDMKA+vtcfRC{R9mAS{OmFkdpyCyg@?p01mV}H4&(cXixdUWzU&5s9)S?`$2y494At;ddP&!snbj}M$u3>~D(&u9~$mW7O?dP!$f+!5(dDIznJ-qtjZQg-+ zL`sqp5eGPH1(e9m!v_cCLK4Tht&|U~eDO1T*4k|5>L?l_QT*gw^HcbfEGNZvY)Cr{w%;WZOj0f^Y?$ptMR89ceOFzx9X;gJ+U2T}Ojd5*RME+q zE+Bhr^Z5=7;}sPCh<8tYPg>-1nT>_);V}kPM>sY0_L^dPz_f7TGOt$NHi=z9wqTH> zNU~!#3B;`?d8r`4C@iUE@Z^Ltr)}}}4JmZP9g#dSX+Qi(9DHU4ZBLu zfm*K?T4GtlOiXX1ugo-PxXf7Kb}{nB=3UK!)Je3?h}#6vh~q0Ru>|-Mw_XDdSsw-UB26)?zX^IfB8b zAK_NgVoYZ6B`Uk$W%0M(R}^VtguK>>Kf1UuH*vRIssFfgS7M9zKZZ*gHZeXpq&l!? zC25Q*ZL_2Y(W>+mzyPr!Bc;2ipy_v=$x{DCIodM9r`)f3vlwt$zzt~QzOM95Fi}~P zmEs5^za*$?e z4j8M6-0Di5Z@+=k!mfe&v3+91@;5NH=U)1a=JKKSgf(i_TI5>jGtc^| zDN|AoV+-yf{9{4jb(o>_&t2G%l4x;xkAONF@-*ttWAGT7<*BPWRT=Sj0Q9v7sgS;2 zP;;g3RW2@I#2Snan`thIa@8p9D#0zuh&g79GUTygp zU?`ILSxBH_QNFyrWQE<$Q7g{c+`8=Ms)6!)kr`Y$-kE4FJ7#~Jkq+DF$VUw}vNca% zJzW4)%_$=&8OIX&A!QDF5ADQ6f}E{LFUnQDdx^0zPdOzmN>~Nh`BY@TKGJ5bfN*P@)6@ zPv@WD4%Tps>n)3S{&U0zZB$mD+Gzs}ik2B`4O9q(2KoSaH?j|6mQog1Ojxcz{#7`% z-fB*dWMdnS@YD#&jGBNkOahSMRYvzo-k{cD%tY69JqTef3{1paBArug$nILR!Gly_ zBY}O=F}qIQYGCkmY8FO@3QJpdNrJIB4d7)wZhHw}S2lYT;_qA1Y=2vfsb@$D$Y_tX z^FUKa{$X<$zud%wxa1vy60W9$Qyy8ICbl1keF)*B;e5G1*+fLt8$pdSQ3fkSN<#dY z)Kg`K)$VCFIyIsdklp=;n?WOtaAzXQ{Su)9&@0uT_sB#5fF>7#xN*%R-+y-1%x0Ux32`&9P#eJg-HX~9aGg`-Z9>SU0XvsPla@#M z{3@N%greb!&Zv#k1xId3zyB{%BCOQrS#}ZCWg&zIW@ZREjWl*|_zgP>hl+nkRwM6# zf>PPx)uRvELrI^T!5tJ-uqoQ@lH-a%-$@I4HXjWb6ANb_L+l{=lmY5qDPGw$y%E{S z^L(;tW=UYgT@N9pQc~P5cwX-{NIeHRuVn9vHE$gzH<;&`@9Yi@v)a}3FfW}ADm$x~ z+wk4j(4?-r^i(*F506h}v^%FZXS4Gk?R#L-?T3ay#LR7`JjCXmr_~cUmpX~hlv@Rt`wH;v4oeck) z>;z~AJAJY2=4hLcCsv0PVQsMyoyFiB%|OX~5f9v?j7=OJ?9W4snZDl(|JmR4Y?-|V zu=5^LX*hM+nKNq8gawseGp*EZ%lNvW}6cRV(REWr`p@M5_turpA z;gTBcfj1Uk!HIap&)vD(_;VX6T0jviV8H4`Ep$lgK@zBOINchY8%sqT=O&yvix0kcmu(P5A&+}SR_fWRK*EoZ<9oKW z4&MgRW`|!K5=`VU<1y2a6B6nS%ncVx2$a(0`h9d$zEyfv%4%0A@$LTR?1t*9B~lM( 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 )us`s)?a7?|4| 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�pl7*~&7LA>!mN6m$aQcCU%W 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 |iuiffO!7;%I8-Yf3T1 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

    40*n_{DgcUVMlnaJ0 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%0Am<-y9+)43DfW$CKo=rDjED@4e{ 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

    *lrRRwy6_p+H_`n%Kj^*u@S~N6AU$X;TNLC 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

  1. FD83BFUPnfbZ5_* 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

    f24Q%|QMO0|Fb8Lrfh$h9gK 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

    *Kg3Lp?W<$t9%nQ@`xwl1DDMNggg`MDlLu{!yV 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ȧ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 VDq8}0&Awx~g`r6r){ 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 YV-|tyeUTe;(_kNg?-)%BgjK{|3X#+$EdT%j literal 0 HcmV?d00001 diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/GCC-Runtime-Library-Exception.txt b/research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/GCC-Runtime-Library-Exception.txt new file mode 100644 index 0000000000..e1b3c69c17 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/GCC-Runtime-Library-Exception.txt @@ -0,0 +1,73 @@ +GCC RUNTIME LIBRARY EXCEPTION + +Version 3.1, 31 March 2009 + +Copyright (C) 2009 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +This GCC Runtime Library Exception ("Exception") is an additional +permission under section 7 of the GNU General Public License, version +3 ("GPLv3"). It applies to a given file (the "Runtime Library") that +bears a notice placed by the copyright holder of the file stating that +the file is governed by GPLv3 along with this Exception. + +When you use GCC to compile a program, GCC may combine portions of +certain GCC header files and runtime libraries with the compiled +program. The purpose of this Exception is to allow compilation of +non-GPL (including proprietary) programs to use, in this way, the +header files and runtime libraries covered by this Exception. + +0. Definitions. + +A file is an "Independent Module" if it either requires the Runtime +Library for execution after a Compilation Process, or makes use of an +interface provided by the Runtime Library, but is not otherwise based +on the Runtime Library. + +"GCC" means a version of the GNU Compiler Collection, with or without +modifications, governed by version 3 (or a specified later version) of +the GNU General Public License (GPL) with the option of using any +subsequent versions published by the FSF. + +"GPL-compatible Software" is software whose conditions of propagation, +modification and use would permit combination with GCC in accord with +the license of GCC. + +"Target Code" refers to output from any compiler for a real or virtual +target processor architecture, in executable form or suitable for +input to an assembler, loader, linker and/or execution +phase. Notwithstanding that, Target Code does not include data in any +format that is used as a compiler intermediate representation, or used +for producing a compiler intermediate representation. + +The "Compilation Process" transforms code entirely represented in +non-intermediate languages designed for human-written code, and/or in +Java Virtual Machine byte code, into Target Code. Thus, for example, +use of source code generators and preprocessors need not be considered +part of the Compilation Process, since the Compilation Process can be +understood as starting with the output of the generators or +preprocessors. + +A Compilation Process is "Eligible" if it is done using GCC, alone or +with other GPL-compatible software, or if it is done without using any +work based on GCC. For example, using non-GPL-compatible Software to +optimize any GCC intermediate representations would not qualify as an +Eligible Compilation Process. + +1. Grant of Additional Permission. + +You have permission to propagate a work of Target Code formed by +combining the Runtime Library with Independent Modules, even if such +propagation would otherwise violate the terms of GPLv3, provided that +all Target Code was generated by Eligible Compilation Processes. You +may then convey such a combination under terms of your choice, +consistent with the licensing of the Independent Modules. + +2. No Weakening of GCC Copyleft. + +The availability of this Exception does not imply any general +presumption that third-party software is unaffected by the copyleft +requirements of the license of GCC. + diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/GPL-3-standard-text b/research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/GPL-3-standard-text new file mode 100644 index 0000000000..f288702d2f --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/GPL-3-standard-text @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/GPL-3.0-gcc-source.txt b/research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/GPL-3.0-gcc-source.txt new file mode 100644 index 0000000000..94a9ed024d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/GPL-3.0-gcc-source.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/gcc-13-debian-copyright b/research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/gcc-13-debian-copyright new file mode 100644 index 0000000000..4e76ab4575 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/licenses/gcc-13-debian-copyright @@ -0,0 +1,1532 @@ +This is the Debian GNU/Linux prepackaged version of the GNU compiler +collection, containing Ada, C, C++, D, Fortran 95, Go, Objective-C, +Objective-C++, and Modula-2 compilers, documentation, and support +libraries. In addition, Debian provides the gm2 compiler, either in +the same source package, or built from a separate same source package. +Packaging is done by the Debian GCC Maintainers +, with sources obtained from: + + ftp://gcc.gnu.org/pub/gcc/releases/ (for full releases) + svn://gcc.gnu.org/svn/gcc/ (for prereleases) + ftp://sourceware.org/pub/newlib/ (for newlib) + git://git.savannah.gnu.org/gm2.git (for Modula-2) + +The current gcc-13 source package is taken from the git gcc-13-branch. + +Changes: See changelog.Debian.gz + +Debian splits the GNU Compiler Collection into packages for each language, +library, and documentation as follows: + +Language Compiler package Library package Documentation +--------------------------------------------------------------------------- +Ada gnat-13 libgnat-13 gnat-13-doc +C gcc-13 gcc-13-doc +C++ g++-13 libstdc++6 libstdc++6-13-doc +D gdc-13 +Fortran 95 gfortran-13 libgfortran5 gfortran-13-doc +Go gccgo-13 libgo0 +Objective C gobjc-13 libobjc4 +Objective C++ gobjc++-13 +Modula-2 gm2-13 libgm2 + +For some language run-time libraries, Debian provides source files, +development files, debugging symbols and libraries containing position- +independent code in separate packages: + +Language Sources Development Debugging Position-Independent +------------------------------------------------------------------------------ +C++ libstdc++6-13-dbg libstdc++6-13-pic +D libphobos-13-dev + +Additional packages include: + +All languages: +libgcc1, libgcc2, libgcc4 GCC intrinsics (platform-dependent) +gcc-13-base Base files common to all compilers +gcc-13-soft-float Software floating point (ARM only) +gcc-13-source The sources with patches + +Ada: +libgnat-util13-dev, libgnat-util13 GNAT version library + +C: +cpp-13, cpp-13-doc GNU C Preprocessor +libssp0-dev, libssp0 GCC stack smashing protection library +libquadmath0 Math routines for the __float128 type +fixincludes Fix non-ANSI header files + +C, C++ and Fortran 95: +libgomp1-dev, libgomp1 GCC OpenMP (GOMP) support library +libitm1-dev, libitm1 GNU Transactional Memory Library + +Biarch support: On some 64-bit platforms which can also run 32-bit code, +Debian provides additional packages containing 32-bit versions of some +libraries. These packages have names beginning with 'lib32' instead of +'lib', for example lib32stdc++6. Similarly, on some 32-bit platforms which +can also run 64-bit code, Debian provides additional packages with names +beginning with 'lib64' instead of 'lib'. These packages contain 64-bit +versions of the libraries. (At this time, not all platforms and not all +libraries support biarch.) The license terms for these lib32 or lib64 +packages are identical to the ones for the lib packages. + + +COPYRIGHT STATEMENTS AND LICENSING TERMS + + +GCC is Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, +1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, +2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 +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. + +Files that have exception clauses are licensed under the terms of the +GNU General Public License; either version 3, or (at your option) any +later version. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License is in `/usr/share/common-licenses/GPL', version 3 of this +license in `/usr/share/common-licenses/GPL-3'. + +The following runtime libraries are licensed under the terms of the +GNU General Public License (v3 or later) with version 3.1 of the GCC +Runtime Library Exception (included in this file): + + - libgcc (libgcc/, gcc/libgcc2.[ch], gcc/unwind*, gcc/gthr*, + gcc/coretypes.h, gcc/crtstuff.c, gcc/defaults.h, gcc/dwarf2.h, + gcc/emults.c, gcc/gbl-ctors.h, gcc/gcov-io.h, gcc/libgcov.c, + gcc/tsystem.h, gcc/typeclass.h). + - libatomic + - libdecnumber + - libgomp + - libitm + - libssp + - libstdc++-v3 + - libobjc + - libgfortran + - The libgnat-13 Ada support library and libgnat-util13 library. + - Various config files in gcc/config/ used in runtime libraries. + - libvtv + +The libbacktrace library is licensed under the following terms: + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + (1) Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + (2) Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + (3) The name of the author may not be used to + endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +The libsanitizer libraries (libasan, liblsan, libtsan, libubsan) are +licensed under the following terms: + +Copyright (c) 2009-2019 by the LLVM contributors. + +All rights reserved. + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +The libffi library is licensed under the following terms: + + libffi - Copyright (c) 1996-2003 Red Hat, Inc. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + ``Software''), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR + OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + +The documentation is licensed under the GNU Free Documentation License (v1.2). +On Debian GNU/Linux systems, the complete text of this license is in +`/usr/share/common-licenses/GFDL-1.2'. + + +GCC RUNTIME LIBRARY EXCEPTION + +Version 3.1, 31 March 2009 + +Copyright (C) 2009 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +This GCC Runtime Library Exception ("Exception") is an additional +permission under section 7 of the GNU General Public License, version +3 ("GPLv3"). It applies to a given file (the "Runtime Library") that +bears a notice placed by the copyright holder of the file stating that +the file is governed by GPLv3 along with this Exception. + +When you use GCC to compile a program, GCC may combine portions of +certain GCC header files and runtime libraries with the compiled +program. The purpose of this Exception is to allow compilation of +non-GPL (including proprietary) programs to use, in this way, the +header files and runtime libraries covered by this Exception. + +0. Definitions. + +A file is an "Independent Module" if it either requires the Runtime +Library for execution after a Compilation Process, or makes use of an +interface provided by the Runtime Library, but is not otherwise based +on the Runtime Library. + +"GCC" means a version of the GNU Compiler Collection, with or without +modifications, governed by version 3 (or a specified later version) of +the GNU General Public License (GPL) with the option of using any +subsequent versions published by the FSF. + +"GPL-compatible Software" is software whose conditions of propagation, +modification and use would permit combination with GCC in accord with +the license of GCC. + +"Target Code" refers to output from any compiler for a real or virtual +target processor architecture, in executable form or suitable for +input to an assembler, loader, linker and/or execution +phase. Notwithstanding that, Target Code does not include data in any +format that is used as a compiler intermediate representation, or used +for producing a compiler intermediate representation. + +The "Compilation Process" transforms code entirely represented in +non-intermediate languages designed for human-written code, and/or in +Java Virtual Machine byte code, into Target Code. Thus, for example, +use of source code generators and preprocessors need not be considered +part of the Compilation Process, since the Compilation Process can be +understood as starting with the output of the generators or +preprocessors. + +A Compilation Process is "Eligible" if it is done using GCC, alone or +with other GPL-compatible software, or if it is done without using any +work based on GCC. For example, using non-GPL-compatible Software to +optimize any GCC intermediate representations would not qualify as an +Eligible Compilation Process. + +1. Grant of Additional Permission. + +You have permission to propagate a work of Target Code formed by +combining the Runtime Library with Independent Modules, even if such +propagation would otherwise violate the terms of GPLv3, provided that +all Target Code was generated by Eligible Compilation Processes. You +may then convey such a combination under terms of your choice, +consistent with the licensing of the Independent Modules. + +2. No Weakening of GCC Copyleft. + +The availability of this Exception does not imply any general +presumption that third-party software is unaffected by the copyleft +requirements of the license of GCC. + + +libquadmath/ + Copyright (C) 1992-2018 Free Software Foundation, Inc. + + Written by Francois-Xavier Coudert + Written by Tobias Burnus + Contributions by Ulrich Drepper + Conversion to long double by Jakub Jelinek + + This file is part of the libquadmath library. + Libquadmath is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + Libiberty 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 + Library General Public License for more details. + +libquadmath/math: + +atanq.c, expm1q.c, j0q.c, j1q.c, log1pq.c, logq.c: + Copyright 2001 by Stephen L. Moshier + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, 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 + Lesser General Public License for more details. + +coshq.c, erfq.c, jnq.c, lgammaq.c, powq.c, roundq.c: + Changes for 128-bit __float128 are + Copyright (C) 2001 Stephen L. Moshier + and are incorporated herein by permission of the author. The author + reserves the right to distribute this material elsewhere under different + copying permissions. These modifications are distributed here under + the following terms: + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, 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 + Lesser General Public License for more details. + +libquadmath/math/ + +cosq_kernel.c, expq.c, sincos_table.c, sincosq.c, sincosq_kernel.c, +sinq_kernel.c, truncq.c: + Copyright (C) 1997, 1999 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 + Lesser General Public License for more details. + +libquadmath/math/isinfq.c: + Written by J.T. Conklin . + Change for long double by Jakub Jelinek + Public domain. + +libquadmath/math/ + llroundq.c, lroundq.c, tgammaq.c: + + Copyright (C) 1997, 1999, 2002, 2004 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1997 and + Jakub Jelinek , 1999. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 + Lesser General Public License for more details. + +libquadmath/math/log10q.c: + Cephes Math Library Release 2.2: January, 1991 + Copyright 1984, 1991 by Stephen L. Moshier + Adapted for glibc November, 2001 + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, 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 + Lesser General Public License for more details. + +libquadmath/math/ + acoshq.c, acosq.c, asinhq.c, asinq.c, atan2q.c, atanhq.c, ceilq.c, + copysignq.c, coshq.c, cosq.c, erfq.c, fabsq.c, finiteq.c, floorq.c, + fmodq.c, frexpq.c, hypotq.c, ilogbq.c, isnanq.c, jnq.c, ldexpq.c, + logbq.c, modfq.c, nearbyintq.c, nextafterq.c, powq.c, remainderq.c, + rem_pio2q.c, rintq.c, scalblnq.c, scalbnq.c, sinhq.c, sinq.c, + tanhq.c, tanq.c, tanq_kernel.c: + + Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + . + Developed at SunPro, a Sun Microsystems, Inc. business. + Permission to use, copy, modify, and distribute this + software is freely granted, provided that this notice + is preserved. + +libquadmath/math/ + acosq.c, asinq.c, coshq.c, erfq.c, jnq.c, powq.c, sinhq.c, tanq_kernel.c: + + In addition to the Sun Microsystems copyright: + + Long double expansions are + Copyright (C) 2001 Stephen L. Moshier + and are incorporated herein by permission of the author. The author + reserves the right to distribute this material elsewhere under different + copying permissions. These modifications are distributed here under + the LGPL 2.1 or later. + + +gcc/go/gofrontend, libgo: + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +D: +gdc-13 GNU D Compiler +libphobos-13-dev D standard runtime library + +The D source package is made up of the following components. + +The D front-end for GCC: + - d/* + +Copyright (C) 2004-2007 David Friedman +Modified by Vincenzo Ampolo, Michael Parrot, Iain Buclaw, (C) 2009, 2010 + +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. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License is in `/usr/share/common-licenses/GPL', version 2 of this +license in `/usr/share/common-licenses/GPL-2'. + + +The DMD Compiler implementation of the D programming language: + - d/dmd/* + +Copyright (c) 1999-2010 by Digital Mars +All Rights Reserved +written by Walter Bright +http://www.digitalmars.com +License for redistribution is by either the Artistic License or +the GNU General Public License (v1). + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License is in `/usr/share/common-licenses/GPL', the Artistic +license in `/usr/share/common-licenses/Artistic'. + + +The Zlib data compression library: + - d/phobos/etc/c/zlib/* + + (C) 1995-2004 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + +The Phobos standard runtime library: + - d/phobos/* + +Unless otherwise marked within the file, each file in the source +is under the following licenses: + +Copyright (C) 2004-2005 by Digital Mars, www.digitalmars.com +Written by Walter Bright + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, in both source and binary form, subject to the following +restrictions: + + o The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + o Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + o This notice may not be removed or altered from any source + distribution. + +By plainly marking modifications, something along the lines of adding to each +file that has been changed a "Modified by Foo Bar" line +underneath the "Written by" line would be adequate. + +gcc/m2: +gcc/m2/gm2-libiberty: +gcc/m2/mc-boot/: +gcc/m2/mc-boot-ch/: +Copyright (C) 2001-2019 Free Software Foundation, Inc. +Contributed by Gaius Mulley . + +This file is part of GNU Modula-2. + +GNU Modula-2 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. + +GNU Modula-2 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. + +gcc/m2/**/*.texi: +Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +2011, 2012, 2012, 2013 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with no +Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + +gcc/m2/gm2-coroutines: +gcc/m2/gm2-libs: +gcc/m2/gm2-libs-min: +gcc/m2/gm2-libs-pim: +gcc/m2/gm2-libs-ch: +Copyright (C) 2002-2019 Free Software Foundation, Inc. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, 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 +Lesser 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. + +gcc/m2/gm2-libs-iso/: +This has a mix of licenses, most as GPL-3+ plus GCC Runtime Library +Exception, version 3.1. + +gcc/m2/gm2-libs-iso/*.def: +Library module defined by the International Standard +Information technology - programming languages +BS ISO/IEC 10514-1:1996E Part 1: Modula-2, Base Language. + +Copyright ISO/IEC (International Organization for Standardization +and International Electrotechnical Commission) 1996, 1997, 1998, +1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + +Copyright (C) 2001-2019 Free Software Foundation, Inc. +mix of GPL-3.0 and LGPL-2.1/3 + +Copyright (C) 2001-2019 Free Software Foundation, Inc. +mix of GPL-3.0 and LGPL-2.1/3 + +gcc/m2/examples: +Copyright (C) 2005-2015 Free Software Foundation, Inc. +Mix of LGPL-2.1 and GPL-3.0. + +gcc/m2/images: +GPL-3+ + +gcc/m2/el/gm2-mode.el: +;; Everyone is granted permission to copy, modify and redistribute +;; GNU Emacs, but only under the conditions described in the +;; GNU Emacs General Public License. A copy of this license is +;; supposed to have been given to you along with GNU Emacs so you +;; can know your rights and responsibilities. It should be in a +;; file named COPYING. Among other things, the copyright notice +;; and this notice must be preserved on all copies. + +Copyright (C) 2001-2018 Free Software Foundation, Inc. +Contributed by Gaius Mulley . +Mix of GPL-3 and LGPL-2.1. + +gcc/testsuite/gm2/: +Copyright (C) 2001-2019 Free Software Foundation, Inc. +Mix of GPL-2+ and GPL-3+ + +libgm2: + +libgm2/libiso/: +libgm2/libpim/: +libgm2/liblog/: +libgm2/libcor/: +libgm2/libmin/: +Copyright (C) 2002-2019 Free Software Foundation, Inc. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, 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 +Lesser 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. + +newlib-X.Y.Z/: + +Upstream Authors: +newlib@sources.redhat.com +Jeff Johnston +Tom Fitzsimmons + +The newlib subdirectory is a collection of software from several sources. +Each file may have its own copyright/license that is embedded in the source +file. + +This list documents those licenses which are more restrictive than +a BSD-like license or require the copyright notice +to be duplicated in documentation and/or other materials associated with +the distribution. Certain licenses documented here only apply to +specific targets. Certain clauses only apply if you are building the +code as part of your binary. + +Note that this list may omit certain licenses that +only pertain to the copying/modifying of the individual source code. +If you are distributing the source code, then you do not need to +worry about these omitted licenses, so long as you do not modify the +copyright information already in place. + +Parts of this work are licensed under the terms of the GNU General +Public License. On Debian systems, the complete text of this license +can be found in /usr/share/common-licenses/GPL. + +Parts of this work are licensed under the terms of the GNU Library +General Public License. On Debian systems, the complete text of this +license be found in /usr/share/common-licenses/LGPL. + +(1) University of California, Berkeley + +[1a] + +Copyright (c) 1990 The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms are permitted +provided that the above copyright notice and this paragraph are +duplicated in all such forms and that any documentation, +and other materials related to such distribution and use +acknowledge that the software was developed +by the University of California, Berkeley. The name of the +University may not be used to endorse or promote products derived +from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +[1b] + +Copyright (c) 1990 The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms are permitted +provided that the above copyright notice and this paragraph are +duplicated in all such forms and that any documentation, +advertising materials, and other materials related to such +distribution and use acknowledge that the software was developed +by the University of California, Berkeley. The name of the +University may not be used to endorse or promote products derived +from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +[1c] + +Copyright (c) 1981, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 +The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +[1d] + +Copyright (c) 1988, 1990, 1993 Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +[1e] + +Copyright (c) 1982, 1986, 1989, 1991, 1993, 1994 +The Regents of the University of California. All rights reserved. +(c) UNIX System Laboratories, Inc. +All or some portions of this file are derived from material licensed +to the University of California by American Telephone and Telegraph +Co. or Unix System Laboratories, Inc. and are reproduced herein with +the permission of UNIX System Laboratories, Inc. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +[1f] + +Copyright (c) 1987, 1988, 2000 Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms are permitted +provided that: (1) source distributions retain this entire copyright +notice and comment, and (2) distributions including binaries display +the following acknowledgement: ``This product includes software +developed by the University of California, Berkeley and its contributors'' +in the documentation or other materials provided with the distribution +and in all advertising materials mentioning features or use of this +software. Neither the name of the University nor the names of its +contributors may be used to endorse or promote products derived +from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +------------------------------------------------------------- + Please note that in some of the above alternate licenses, there is a + statement regarding that acknowledgement must be made in any + advertising materials for products using the code. This restriction + no longer applies due to the following license change: + + ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change + + In some cases the defunct clause has been removed in modified newlib code and + in some cases, the clause has been left as-is. +------------------------------------------------------------- + +(2) Cygwin (cygwin targets only) + +Copyright 2001 Red Hat, Inc. + +This software is a copyrighted work licensed under the terms of the +Cygwin license. Please consult the file "CYGWIN_LICENSE" for +details. + +(3) David M. Gay at AT&T + +The author of this software is David M. Gay. + +Copyright (c) 1991 by AT&T. + +Permission to use, copy, modify, and distribute this software for any +purpose without fee is hereby granted, provided that this entire notice +is included in all copies of any software which is or includes a copy +or modification of this software and in all copies of the supporting +documentation for such software. + +THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY +REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY +OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + +(4) Advanced Micro Devices + +Copyright 1989, 1990 Advanced Micro Devices, Inc. + +This software is the property of Advanced Micro Devices, Inc (AMD) which +specifically grants the user the right to modify, use and distribute this +software provided this notice is not removed or altered. All other rights +are reserved by AMD. + +AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS +SOFTWARE. IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL +DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR +USE OF THIS SOFTWARE. + +So that all may benefit from your experience, please report any problems +or suggestions about this software to the 29K Technical Support Center at +800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131 in the UK, or +0031-11-1129 in Japan, toll free. The direct dial number is 512-462-4118. + +Advanced Micro Devices, Inc. +29K Support Products +Mail Stop 573 +5900 E. Ben White Blvd. +Austin, TX 78741 +800-292-9263 + +(5) C.W. Sandmann + +Copyright (C) 1993 C.W. Sandmann + +This file may be freely distributed as long as the author's name remains. + +(6) Eric Backus + +(C) Copyright 1992 Eric Backus + +This software may be used freely so long as this copyright notice is +left intact. There is no warrantee on this software. + +(7) Sun Microsystems + +Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + +Developed at SunPro, a Sun Microsystems, Inc. business. +Permission to use, copy, modify, and distribute this +software is freely granted, provided that this notice +is preserved. + +(8) Hewlett Packard + +(c) Copyright 1986 HEWLETT-PACKARD COMPANY + +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: + permission to use, copy, modify, and distribute this file +for any purpose is hereby granted without fee, provided that +the above copyright notice and this notice appears in all +copies, and that the name of Hewlett-Packard Company not be +used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +Hewlett-Packard Company makes no representations about the +suitability of this software for any purpose. + +(9) Hans-Peter Nilsson + +Copyright (C) 2001 Hans-Peter Nilsson + +Permission to use, copy, modify, and distribute this software is +freely granted, provided that the above copyright notice, this notice +and the following disclaimer are preserved with no changes. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. + +(10) Stephane Carrez (m68hc11-elf/m68hc12-elf targets only) + +Copyright (C) 1999, 2000, 2001, 2002 Stephane Carrez (stcarrez@nerim.fr) + +The authors hereby grant permission to use, copy, modify, distribute, +and license this software and its documentation for any purpose, provided +that existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written agreement, +license, or royalty fee is required for any of the authorized uses. +Modifications to this software may be copyrighted by their authors +and need not follow the licensing terms described here, provided that +the new terms are clearly indicated on the first page of each file where +they apply. + +(11) Christopher G. Demetriou + +Copyright (c) 2001 Christopher G. Demetriou +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(12) SuperH, Inc. + +Copyright 2002 SuperH, Inc. All rights reserved + +This software is the property of SuperH, Inc (SuperH) which specifically +grants the user the right to modify, use and distribute this software +provided this notice is not removed or altered. All other rights are +reserved by SuperH. + +SUPERH MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO +THIS SOFTWARE. IN NO EVENT SHALL SUPERH BE LIABLE FOR INDIRECT, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH OR ARISING FROM +THE FURNISHING, PERFORMANCE, OR USE OF THIS SOFTWARE. + +So that all may benefit from your experience, please report any problems +or suggestions about this software to the SuperH Support Center via +e-mail at softwaresupport@superh.com . + +SuperH, Inc. +405 River Oaks Parkway +San Jose +CA 95134 +USA + +(13) Royal Institute of Technology + +Copyright (c) 1999 Kungliga Tekniska Hgskolan +(Royal Institute of Technology, Stockholm, Sweden). +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of KTH nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(14) Alexey Zelkin + +Copyright (c) 2000, 2001 Alexey Zelkin +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(15) Andrey A. Chernov + +Copyright (C) 1997 by Andrey A. Chernov, Moscow, Russia. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(16) FreeBSD + +Copyright (c) 1997-2002 FreeBSD Project. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(17) S. L. Moshier + +Author: S. L. Moshier. + +Copyright (c) 1984,2000 S.L. Moshier + +Permission to use, copy, modify, and distribute this software for any +purpose without fee is hereby granted, provided that this entire notice +is included in all copies of any software which is or includes a copy +or modification of this software and in all copies of the supporting +documentation for such software. + +THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION +OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS +SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. + +(18) Citrus Project + +Copyright (c)1999 Citrus Project, +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(19) Todd C. Miller + +Copyright (c) 1998 Todd C. Miller +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +(20) DJ Delorie (i386) + +Copyright (C) 1991 DJ Delorie +All rights reserved. + +Redistribution and use in source and binary forms is permitted +provided that the above copyright notice and following paragraph are +duplicated in all such forms. + +This file is distributed WITHOUT ANY WARRANTY; without even the implied +warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +(21) Free Software Foundation LGPL License (*-linux* targets only) + + Copyright (C) 1990-1999, 2000, 2001 + Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Mark Kettenis , 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + 02110-1301 USA + +(22) Xavier Leroy LGPL License (i[3456]86-*-linux* targets only) + +Copyright (C) 1996 Xavier Leroy (Xavier.Leroy@inria.fr) + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU Library 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 Library General Public License for more details. + +(23) Intel (i960) + +Copyright (c) 1993 Intel Corporation + +Intel hereby grants you permission to copy, modify, and distribute this +software and its documentation. Intel grants this permission provided +that the above copyright notice appears in all copies and that both the +copyright notice and this permission notice appear in supporting +documentation. In addition, Intel grants this permission provided that +you prominently mark as "not part of the original" any modifications +made to this software or documentation, and that the name of Intel +Corporation not be used in advertising or publicity pertaining to +distribution of the software or the documentation without specific, +written prior permission. + +Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR +IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Intel makes no guarantee or +representations regarding the use of, or the results of the use of, +the software and documentation in terms of correctness, accuracy, +reliability, currentness, or otherwise; and you rely on the software, +documentation and results solely at your own risk. + +IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS, +LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES +OF ANY KIND. IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM +PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER. + +(24) Hewlett-Packard (hppa targets only) + +(c) Copyright 1986 HEWLETT-PACKARD COMPANY + +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: + permission to use, copy, modify, and distribute this file +for any purpose is hereby granted without fee, provided that +the above copyright notice and this notice appears in all +copies, and that the name of Hewlett-Packard Company not be +used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +Hewlett-Packard Company makes no representations about the +suitability of this software for any purpose. + +(25) Henry Spencer (only *-linux targets) + +Copyright 1992, 1993, 1994 Henry Spencer. All rights reserved. +This software is not subject to any license of the American Telephone +and Telegraph Company or of the Regents of the University of California. + +Permission is granted to anyone to use this software for any purpose on +any computer system, and to alter it and redistribute it, subject +to the following restrictions: + +1. The author is not responsible for the consequences of use of this + software, no matter how awful, even if they arise from flaws in it. + +2. The origin of this software must not be misrepresented, either by + explicit claim or by omission. Since few users ever read sources, + credits must appear in the documentation. + +3. Altered versions must be plainly marked as such, and must not be + misrepresented as being the original software. Since few users + ever read sources, credits must appear in the documentation. + +4. This notice may not be removed or altered. + +(26) Mike Barcroft + +Copyright (c) 2001 Mike Barcroft +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(27) Konstantin Chuguev (--enable-newlib-iconv) + +Copyright (c) 1999, 2000 + Konstantin Chuguev. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + iconv (Charset Conversion Library) v2.0 + +(27) Artem Bityuckiy (--enable-newlib-iconv) + +Copyright (c) 2003, Artem B. Bityuckiy, SoftMine Corporation. +Rights transferred to Franklin Electronic Publishers. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +(28) Red Hat Incorporated + +Unless otherwise stated in each remaining newlib file, the remaining +files in the newlib subdirectory default to the following copyright. +It should be noted that Red Hat Incorporated now owns copyrights +belonging to Cygnus Solutions and Cygnus Support. + +Copyright (c) 1994, 1997, 2001, 2002, 2003, 2004 Red Hat Incorporated. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + The name of Red Hat Incorporated may not be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +contrib/unicode: + +UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE + + Unicode Data Files include all data files under the directories +http://www.unicode.org/Public/, http://www.unicode.org/reports/, and +http://www.unicode.org/cldr/data/. Unicode Data Files do not include PDF +online code charts under the directory http://www.unicode.org/Public/. +Software includes any source code published in the Unicode Standard or under +the directories http://www.unicode.org/Public/, +http://www.unicode.org/reports/, and http://www.unicode.org/cldr/data/. + + NOTICE TO USER: Carefully read the following legal agreement. BY +DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES +("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND +AGREE TO BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF +YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA +FILES OR SOFTWARE. + + COPYRIGHT AND PERMISSION NOTICE + + Copyright © 1991-2013 Unicode, Inc. All rights reserved. Distributed under +the Terms of Use in http://www.unicode.org/copyright.html. + + Permission is hereby granted, free of charge, to any person obtaining a +copy of the Unicode data files and any associated documentation (the "Data +Files") or Unicode software and any associated documentation (the "Software") +to deal in the Data Files or Software without restriction, including without +limitation the rights to use, copy, modify, merge, publish, distribute, and/or +sell copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that (a) the above +copyright notice(s) and this permission notice appear with all copies of the +Data Files or Software, (b) both the above copyright notice(s) and this +permission notice appear in associated documentation, and (c) there is clear +notice in each modified Data File or in the Software as well as in the +documentation associated with the Data File(s) or Software that the data or +software has been modified. + + THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD +PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN +THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE +DATA FILES OR SOFTWARE. + + Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written authorization +of the copyright holder. + +contrib/unicode/from_glibc: + +# Copyright (C) 2014-2019 Free Software Foundation, Inc. +# This file is part of the GNU C Library. +# +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# The GNU C 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 +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with the GNU C Library; if not, see +# . diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/control b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/control new file mode 100644 index 0000000000..89750c6e13 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/control @@ -0,0 +1,15 @@ +Package: gcc-13-plugin-dev +Source: gcc-13 +Version: 13.3.0-6ubuntu2~24.04.1 +Architecture: amd64 +Maintainer: Ubuntu Core developers +Installed-Size: 9943 +Depends: gcc-13-base (= 13.3.0-6ubuntu2~24.04.1), gcc-13 (= 13.3.0-6ubuntu2~24.04.1), libgmp-dev (>= 2:5.0.1~), libmpc-dev (>= 1.0), libc6 (>= 2.38) +Section: devel +Priority: optional +Homepage: http://gcc.gnu.org/ +Description: Files for GNU GCC plugin development. + This package contains (header) files for GNU GCC plugin development. It + is only used for the development of GCC plugins, but not needed to run + plugins. +Original-Maintainer: Debian GCC Maintainers diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/md5sums b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/md5sums new file mode 100644 index 0000000000..84f5973ec6 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/md5sums @@ -0,0 +1,475 @@ +3b2ca3a6d102273e5fec51b5ffe67680 usr/lib/gcc/x86_64-linux-gnu/13/plugin/gtype.state +d69e0fff19957a7b29ee08926fc6f3cf usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def +978031793256be605b05ec556e69fc09 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h +e1f9606817a872c9b1770a2950665e17 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h +e2c04eccc631052e7aa15c27e287e593 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h +28bf74c6b40eb5d61d5f45a5b0b2ec86 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def +aad6b6421ba955142beb58263efb7ca8 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h +0ff2b24587f14124d511aab046079147 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h +6062e521f076f3ebecb6b7c10bc9c19c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h +e88bf1ee507e058adecd43ef10ff557b usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h +1116915f4adb131b5451010ff6eb3264 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h +910cd70bc9d3cdcaf432c9d1669b1393 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h +f0bcbca336eaf5e5c83e775f5cd4093f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h +53e6081015db1da68c92d954c932ac53 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h +9c8d1b1d015b9b8826226bc1619038b2 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars +340edf75f9fdacfbe681185c549b56e3 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h +2c7acdc49c294ee259cf96681120a757 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h +3ad42f3195454ddf0ad44aea8bdfa110 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h +8b6ce913c0d62cb3d8a7c660be194357 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h +bbdd0e6a2c558889d7b99c9e61ca5571 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def +cd880946aff3cd75bff1d0edafa92c14 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def +8a86b0c51f15d3cd6813b9c29784719f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def +92a923d816f64b2130d01c337f74afaa usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h +85b6bb813a26fdd89ca9097cc4f88b6f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h +14cc2c078b45b45e351e4ee4453dffe7 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def +5dae9e83d3de07bbde587cb0204b8f57 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h +93df9aa0873ff86ddfffca340dfe26c7 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h +291e6dbd1f3ff17d1ba067d22eb8d6c2 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h +41423bec7eaf515748c1e4cb455fd2be usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h +335ea162b657e6b61a17f3160590808c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h +158b2cc7af4b3645a2fa5d18b0711705 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h +081acff617120e3e3c99bafb4566d3d6 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h +4725a43a4cb6f02f9508f8d2bcf6b102 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def +d2612ae30caab0fafd85f75b5c424177 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h +d2ee82e91fa150947cec2d680d653ad4 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h +650ab513e0404ac58a19e4200f491d8a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h +faf5886336423b3c1589e8b8b55f2cec usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h +e0f3df5bcd51198c70302a24cfecea78 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h +38772c7ea67be80e15630312bda73eba usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h +8654bc61679ffe8ddd2bdc28d664660d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h +19dacb8567e06231de7fe4cc82fe63da usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h +da68b1c5283ed68c563e46ff6573c10a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h +018a16a4b62363ae44492c72bd779cfa usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h +40601133406a9a11490ce86068a4e987 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def +fee34544a58c3b31ff2755596f6bcc79 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h +a72185fb3571a1a22bbb61fc3b7454f3 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h +44030d04130f80c7a8b32788a7d2f5e7 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h +cb80b744e071259c95e671849491dde2 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h +9cb11e917d5515cc841c70c6b5a47a25 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h +c29a5051809c4038f65af7557c1e9fcd usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h +687b1d4a1c14a513b3977da0dd9432e7 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h +78dbd25cd0f8974d536f853a1bcfabd9 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h +2077520306ad553f4448e35972e58554 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h +fe67037597dd6fcbec4e543515712244 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h +f15918dfd12bc1857aa07367503167fd usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h +2c9c3c84d099070fce6147a08d5e4626 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h +89d2cb0fe9c646c0bfc8027e8e98f61d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h +f8b410fca828f20bc9282476fa62cc49 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h +fe11cb894ffe7ab98667ab56d2f4723f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def +7512d54a6f733ab8b39bf9b02c1ba4db usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h +15146e6cff34da8c1205b0df0813ccb0 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h +82696aeca79f77fde118d691062f7df3 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h +6ed22fa4fd97e8bd0a9ceb9f093a8966 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h +e6f15effc4a20421499a9853ac59ed42 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h +0547e7c6a1807f6096d1ef483c6f9c13 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def +c51f747e61ad2f707ccbeb3411be4a4d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h +34e124411c74493d2987ca67a64213cd usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h +a9fdbb474821921048f1b5cc5200a54c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def +3ff7fe1829fc0a315623e9b7ea7bb439 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h +7ca01af8cce5302257b16332c81cc4fb usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h +aae89dfe37b6962b2f81a32846a2a717 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h +0f318e4aaba564bb3fd76086e933df3e usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h +dd942f4d20211a67244d7480abce699d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h +4396b302a7bcc56f6057e9bb92f267e4 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h +1ad60ec65e12637c35bfaf841220544d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h +8466e2e51a7343c8cd1e9807ecb2f324 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h +7f4bad3387b301dd994d28b6e3ca3b0a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h +a92be6f532ece352cab8309520cf28f0 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def +b964f4291cd58a61a06769149429435f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h +3fff7a95b0ebd54a1f3f2b2ace365aae usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h +1ff6ed82de7381c392b01839746c2f74 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def +d6887ccac1e3a9dea9c2908ef57ec747 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def +49effe4df0b1fb0ce008f9d0f3a46f83 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h +e0aeb037cb4d8ca738781ded46d00a5d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h +340bb6c30bc1451bc4e2aee47ac22c19 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h +8cef47f00b2658d60aa8aeac08d34464 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def +48f7db9af3b30491ed4f238605782993 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h +ec059990dce01decdd41fdf61eb21678 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h +9e61120d1db695867893215d871ef62f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h +4e693c1a191e0751af9c7bf5f3d68c4c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h +19399561ae12aed1eea23b8a6a04bbf3 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h +9881edbbb726db4859766d0a32beb6a7 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h +df7deb9723aa01d867aaeec5d746c208 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def +cd88545b3adc4c16c0ba514f15de4640 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h +42632d56323e6dae96fca30939a64d74 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def +a6d0bb901e25b89558de1509a08a93f4 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h +4dbb090934653bb6cee869e47656c9ba usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h +077716fea9b8edd866b8379f1291752d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h +ffaa76bc85940e5a2ce2d979fb3526d7 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h +05f283c3358e737d36e036c1346ba5bf usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h +a711fb3e5abbc6d9dac11f2fa50e9836 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h +6541892fa62952b41ebd9c35e46148a5 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h +f0800e1697d1bc4f2be052fe32dcb5a4 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h +7e59fca7cd11dfcac3b600558c7dd159 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h +52fd98caf23d21f7c6c22b20c973681c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h +93bc8b33f09e95c3eb643a4d12de3c93 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h +b5cf698f62fc897667ca73b3cf884ea2 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h +505fca1f45774683076668edb51df8fb usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h +0aa96cf64ff55c2058c4f77d12b1f9b7 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h +aec86f5bdff3085fdd00d7f8271d8bd0 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h +d80c9704cdea98d063f65ef7fae04621 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def +e927561ee87ffd471419ab7c04a9c03d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h +1309ef041fe49676049fddd61225f25e usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h +0e131554910783be46ef509fb39d3189 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h +a281851392abb8220c82d93122bbd813 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h +7bd40e2c4b3b78f79a1982e937dd5e54 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h +590b7faf49265506edf4350a83e27f34 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h +d7039a063609512d531816adc085e3fd usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h +bcfc3857a75f879ec761a824ae77aa77 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h +276fcdf9faad8f99eba0c32558648e49 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h +33772782dd7447901ccef94fe3260cd9 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h +6339307d1a91f4115e2184f117a9152f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h +da9eb5f94d9f2537c44626df2e2d0731 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h +49f526debb7f23de868e29fe0f4ddbdc usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h +5606c317e109b78bd646867d4f2a5bd9 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h +659a8a79c801df56521644da176872c9 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h +f81327904e356ae043c572c54bd25316 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h +860bca68f977fa9a726d09a684e1fbac usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h +b50077475f8f7a1b64242ec5e01d7784 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h +16380b9326d8ac062959a6a82043cce3 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h +19036d67b94612828e60a36131f73399 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h +a58f8d09aca5337953e4002f8d46ada5 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h +cd2c85f077113c6ef641407b8172b6d6 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h +57947e4060d24d010e8c4dd7ba984127 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h +cd0af84836966e2df321c3d08905a631 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h +f9779a6d540c8c63c61d523b1d684404 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h +fe6768163b0ca6c41fea1719448908eb usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h +20c9ffc1f2abf2ab017b88632fa9f63a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h +c2dbf831f4bbc53553765214d1b2d674 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h +46538296abcbd26df93f276f5974ec0f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h +9dd2c87502c864095a8b942bea07b5f3 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h +3a145e6b7f87c4e84c84bbb84f77d201 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h +26caa4b20f75c2eb576da5bea538a2bc usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h +73e2fac76430bce31ea211c315bda445 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h +311b586e10061aa51fe4a5104b704149 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h +d0550adc071932f54b7e84efcf70390f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h +ffa75db321d301638c5a896b4a82acb0 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h +2d213a0bc44c748c31a963119269ec27 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def +ec7a2d8bbff219eabbfd6c27d5ba0f1a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h +d93e600542d14d20d983a105d37e4b7b usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h +afb7e14e477ad7ce68d069b83e7b8347 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h +368d6797b244786570ddd98e596d1d29 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h +e0d0f369c0b3561c1811db4cda5ee811 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h +028d37e73e9df6b100d653f1524c6905 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h +3e95c7746e4b605d3b22047b24a18429 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h +56b94e598841b52eccd3237acd19cd2c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h +ccc5711ecd52f17d0dc04a5cd9ead00c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h +0e5407e2356362d7df736b05dd2f4438 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h +2e82b4bd416d82267e23cfb6b62145d3 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h +029271620b653993e15dfe20ddd2d37b usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h +9a9d95793deb7de9860fc0d1215b3390 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h +348a424f3832c9ef4a35f364e4b74bf7 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h +f56d763b660a3269a8502a8976fb3400 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h +81662d1e70874dc5ddebb9cab55de6d7 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h +9d5e6300c4a359fcde1abf212245eb5d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h +c006b7e8bf1d5bbb53532c7d765a7b5b usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h +1f6de5d464fb403c0d90293d38ac4e28 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h +cd5746fe031b5d538b360fa10b1d17af usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h +63552731dc609ddfd75542482f4ac3f9 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h +80a33f217a8462e04c962982e13c342f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h +83fa369894ed79484edcd88e46e5ff5d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h +9f35006871562ecf765135728e0d57c4 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h +40bb619c45615b32a7d0005623488726 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h +e29891d13b0ac2e960cac756204b9b46 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h +7a8faab9d11d2332278fc21791ee0b3e usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h +0976244211621a90be645055605c6daf usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h +5552bbd93405fe7df3168326c4937c69 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h +422e0a09e39554ba2887528c8bed90bb usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h +5f8d9f93d02bcd5879dec56a1bdd3f2a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h +27e1f2dcfc6351d766a10f88df8d79b8 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h +7ad8fca7963a892e60b9571e760e7ec5 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h +cdca7003d337efe5219b5d19f7155bc8 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def +bb54e7f3ff9957dcf7b1b10fcd527797 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.h +0a4464e175c1aed6501ea243476b7c6d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify-me.h +d0042a88c5e87b0904397052ddc6c33a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimplify.h +5a3af36f882f0b8588bf6b6d2a2dd6d4 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/glimits.h +da5e939a96bf22580a0b4acf109df69b usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gomp-constants.h +9f87084f59d48ddedfe9e9878eef2deb usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graph.h +87169b797cdba8871d9a103df8038d67 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphds.h +a36eddb0cf48bade74c308210f722f71 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphite.h +e05d20afb26ce53b0fc39c6e90bf6994 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/graphviz.h +77b3218165d3edc218698020b1d26c63 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsstruct.def +3869432f2d3730a43af51f75f867e9cb usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyms.h +c32a1d882e7039afe158bb9e59b65223 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gsyslimits.h +053ee4a84e4593c88c088f25e153d1a5 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtm-builtins.def +7ba0c7c687b0948ecfb772bc3d7c03a3 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gtype-desc.h +1eefdf52e4ce3bfa9327490d4f1a031a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hard-reg-set.h +2c6716a60f9cf92b4cc67f03f59cc460 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map-traits.h +8194dfdbe497e10423ad224101e0d252 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-map.h +e851c9757df2348436af3d2b5890db33 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-set.h +222e911376ca8a441a33a71973b18506 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-table.h +dba27c58c47cf222113d081c390a4553 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hash-traits.h +45dedac747b13f7213a4fa7140ce1844 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hashtab.h +c0ca3c57460c1c1d9448072702aae874 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/highlev-plugin-common.h +fa7d4481797426321fb9156f3f2ed73c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hooks.h +d9e81770094112cf4032968e90ddb26e usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks-def.h +081421b43c309c4cc3170f3a6d60fb49 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hosthooks.h +01b52dd1df8c52ed9edf50b535362f54 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hw-doloop.h +44500fc305015a9aba3b0e4521e64a20 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/hwint.h +af5696bbd759bde4b826b69e196cfdfd usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ifcvt.h +a5b79003066c0e5bfacf7d9d006f46cd usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/inchash.h +a8e3cc8cb723d5ba4f5d1e2f04287f63 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/incpath.h +e5e0ca7e1753fd5d89c8a7736badc975 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/input.h +d34bbd252c9510b2d967d3c7b17f66bc usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-addr.h +b980043e2d5ae3bff09b3a559af39288 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr-common.h +c8275d729ca60c09f3e368353de16a7f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-attr.h +ddac7b3a222c926368e098693beabeac usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-codes.h +cf77adf6984566282614d35ebba8b625 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-config.h +9be02ad2548cd09e400b904e4802ce14 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-constants.h +e225760c62694c2d2f913fe83682923f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-flags.h +7826abaa392b3065336b52c99850d378 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes-inline.h +3d97e7c0162b96ce8af843b0e97b3520 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-modes.h +113e3f5328ae586d49a4d449755c406f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/insn-notes.def +5c0f3c404fd37cca65b30f97fbbef8f4 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/int-vector-builder.h +de6d49db609e5109f5b73c4fa39fd732 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.def +c12e2732707baf23e73a14d0b1b36dfd usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/internal-fn.h +2086a023243c1aeb61f8be26da7a72ad usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/intl.h +fb25c569d03784bece5c17aaaaa369c5 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-fnsummary.h +28a91c6a01875186812f053d31eef509 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf-gimple.h +7ff31fb3ed107fddec8cfac0849344d3 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-icf.h +d4b7959c20a98ff6f25372701739be82 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-inline.h +c4370973ef8ca23676e8dd1782308f9c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref-tree.h +b2fae5a0c725823232307d1ff107c412 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-modref.h +0a0833ceaf3d91577600c81d30513737 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-param-manipulation.h +a37e46df93e9fdd5778f6c479d45c848 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-predicate.h +acd05e664b9af90b895688a1182659f3 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-prop.h +7083d1fd93928160d417413231e4735e usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-ref.h +854b54fd489dd96b9961e88be7f7b919 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-reference.h +9ba52d14c04352d1812510443e99efb6 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ipa-utils.h +221ce32bce49d374e617c10cc457c146 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira-int.h +daec5f5daeb40974ee5715d87b784866 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ira.h +794ab6840c05630c3df07341a0f339e5 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/is-a.h +83fa9cced7fd3d64ba760bf4dd2f1414 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/iterator-utils.h +f76da24a148ff2084c218a4c3ff69e23 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/json.h +d24f5328a13bb763b4057e92a3d786bc usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks-def.h +586d9a40cda3d1e9dd2286bdb7b460aa usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/langhooks.h +7a501dceb06088b713e574dafeeca3ea usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lcm.h +3a6f5880ea2ae9d616fbe850bb16871c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libfuncs.h +a51d824d218ae447ac65c3ceb509144a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/libiberty.h +24611054f2152d3499ed36c45cf3335e usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limitx.h +83de5c6450456e215a5484083afcd32a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/limity.h +87e8fe9078561ac2e3c82a93795be1b7 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/line-map.h +86c53cb5fd2a7a7b0267db043ad0c017 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/logical-location.h +244bd1ac6f02573201143dcf1a456d36 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/loop-unroll.h +0196e3b94cf6fd637ba9f3bf6a314bd5 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lower-subreg.h +7c8aeab71bcfacb356aecdcdb7762210 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra-int.h +e39f5642047f20c01157ff09360cf476 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lra.h +838379d3b336c074b7a518024dfc1524 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-compress.h +2c1a311ccac95e377a112adacca59e52 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-section-names.h +4051a87eb8e439afcde2567e10273f08 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/lto-streamer.h +4bc145ddc086daeb8716415130839103 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/m2/m2-tree.def +d26ca7644b0c87e9afba723a82e83ffa usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.def +020ac57561ab532784bab813afc03f17 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/machmode.h +1f00c2ae711dcf705d2724bc1912adec usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/make-unique.h +c2309784dc5b0e78facc40ffd1d2c317 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/md5.h +c3df3b1477c180924303d737bff27c46 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats-traits.h +6682c830fe9e4f4ab3d82e31b7e3aa49 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mem-stats.h +d0caebd6daf62e3e5144c3a086d8762c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memmodel.h +6372d090c19ccc21a579bd770f815b19 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/memory-block.h +ebce6bd265d67531664bf1d4203ca138 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mode-classes.def +a2fed7a2244bb9b0027adc70211df092 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/mux-utils.h +dca9bc33b5b769910000a9513ae55357 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/objc/objc-tree.def +b33ce8e63d322a6dc9496144d93baefb usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack-utils.h +abb08fad8bb7e224935202281eb1839d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/obstack.h +e8768e7bddbebe0721552be034c8a56d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-builtins.def +b602f2dfec40ed722b5aee2bf7e3e8ac usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-expand.h +009c63d00f91f4e914f53c0ecdee6908 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-general.h +c28514b051bd58349c8ce22a92021e01 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-low.h +28ad8898669e529dc47c566719759afc usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-offload.h +cab4dc96449aa496c527da19eb68206a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/omp-simd-clone.h +496b697c4fcf0d1d2a5aa7cb71f16571 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-problem.h +2c7e0eb8c977caade89510a8b6c8f3ba usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opt-suggestions.h +04358f91cfd91036383d359cdf5b049f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-libfuncs.h +74bc067eadc826ac4c141664fff05ae4 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-query.h +1c8dfa2acc3b3ae4f083ef0d55515944 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs-tree.h +425698078194ac5f06fe487ecbba9dfe usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.def +65ccc81ac4251caf331468bf897a4d21 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optabs.h +23a32bb6db5cc27f62e96f583a074dd5 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo-emit-json.h +211aec5ccb8c1fb43ae8e372589b6652 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/optinfo.h +eb17eee1acab2383905584e81918d9bc usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/options.h +4fdbf157243a5a1f53d3cd5b903ba290 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-diagnostic.h +ba6821f04d884d92f0a7fed9a3232bb3 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts-jobserver.h +81e9511e9d8153c5230e3aaa4b257cdc usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/opts.h +d632bfde05b332853454952189949258 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ordered-hash-map.h +9bb4a835deca56dfd0b9a1c21b5242d5 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/output.h +ed559a454fde41baec704490bb83e92d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass-instances.def +6d5e1909a25f7d21fbdbc4466bfc2f10 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pass_manager.h +f79c56de25494e8b3f384aeb3297e5b1 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/passes.def +82fa61abde9968b98397fb91cb87939d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-api.h +bcb86836dd885d47fe127ed521e259e6 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin-version.h +b7c23a22025fc638936c8776d5141077 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.def +0d98256396aa9909139748326fe2ec5a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/plugin.h +27a82acfef939a6105653100ca817c22 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pointer-query.h +826e8613602ff66b4826777cca1f0f8c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int-types.h +904c1ca12d0557980609eab0e8c559a7 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/poly-int.h +a4947e8f0ddcbc7eb9df2fa43790fec7 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.def +005dc519df06271b4a76719be9cc89ed usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/predict.h +8021565db57821d78ba6cbcea1db05ed usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/prefix.h +6bf3ce6e1254c09f4a99258968675078 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/pretty-print.h +cd1c1c50e1890c41fc844e7f5c6b03e2 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-rtl.h +0a1f191186edb9f41a0affc339addd7c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/print-tree.h +b7344110e5c574b4be9c320add505c04 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile-count.h +139e817371eff9511cbb43f0f6774b34 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/profile.h +a97482360b7088e2305d2382195e523a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range-op.h +5c498ea82f946739bfa6733b7e379daa usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/range.h +40e593628675937539cb0428ac64b2dd usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-md.h +537d10d7fa9077013a7396eb9ab761a0 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/read-rtl-function.h +6d8554acc44b5e2e21e38a2b49a99b5a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/real.h +8b3665ee0408167deba63225c18ac5a1 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/realmpfr.h +591f5b69245ef7f926a3b3fef9ca9989 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/recog.h +229b5d92619affa254e70bb3f0369837 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reg-notes.def +4a01a2d58e3ec6ba8693c8e68e948ebe usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regcprop.h +87d4742f206e55197364c5f4fa7336d8 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regrename.h +02aca530b2731fbe9db26ed0d58a7359 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regs.h +48d8ce2509f9ea959aff8e7d11629912 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/regset.h +2c10603003864024bc233887578ab725 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/reload.h +5e0f1c136548ffafc06dde7759d0b618 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/resource.h +5ea30c9356f47fdae42becb044019f44 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-error.h +09c7d9be974cf8eef8aa27b80998709f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-iter.h +e425f0e0c0a3a373e9ced2896d85e43e usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl-ssa.h +59013392133f50ef45d51c7f46134d1d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.def +47270968f06521df14a2e62a83eafc93 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtl.h +30abea10709860b810994624ada0576a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlanal.h +8f0d4d09cea60a4cd6b2117d158a7c58 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhash.h +568be9814fdfe76fcb154787ced92529 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtlhooks-def.h +d14e86636104f8e63873d0f94694d4f2 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/rtx-vector-builder.h +89d68ba5dc6c7c5c9545c87886d96fa6 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/run-rtl-passes.h +b6bc18ff7e3681049201bc69010936b9 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/safe-ctype.h +6df908981659071dab305a19e1eba66f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sanitizer.def +da6c88394baa1765a131b3f0d567ee80 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sbitmap.h +a292d515aad604101071e9c8d1efb025 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sched-int.h +bae4a9d59e94a5d088f9d107088f952d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-dump.h +a17bb6009f575cf4b1498822334c105e usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched-ir.h +07b30e2e9b7492750a78a7c8aed79735 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sel-sched.h +f4720ca5fe1a15bf5df4e2b9a11348c8 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-diagnostic.h +cbc9470a27fa34dea5fe8c7a6155f5b6 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest-rtl.h +15c318ed9453793603295837aa4a8383 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/selftest.h +42f06fb1e7f7569f309e645ed0c3f561 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sese.h +14a1cf78cb35869136c9c3e73acc0d6e usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shortest-paths.h +b0025a475f4a0c82ee65a399ca0a034a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/shrink-wrap.h +bd49798c7ee1511bf4a17309e20fec94 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/signop.h +8e3e166004672f614cbdfd1ebcf014be usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sparseset.h +25eed08bbd5566b8dcf1660bd3cea56e usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck-tree.h +ad7127f772fbab419cdb95716fbd71e8 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/spellcheck.h +ea45f2041106f72dbc25c1300639592a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree-utils.h +5763f96a28ee1fb6241004268ee0b8c4 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/splay-tree.h +10f3d0286cc97f0f24db8eca8eeb6ef3 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sreal.h +0a6045997c2b7a735fb72ed91ab27825 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa-iterators.h +769da65620ef5546603093fe71ab3d01 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ssa.h +105fe33a71f974f02ef7f3263c08669a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/statistics.h +be9918eb7971ed2aa227d2a9556ab4c1 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stmt.h +b3072e70f0734ebf8ff3e86db3e31313 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stor-layout.h +81010126ecf47f4e4f335e2aea2d4051 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/streamer-hooks.h +999a6973a1cd3c7f04b5ad09bbb7ee91 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/stringpool.h +113b78073a7ece7f6f9d83da5509fb24 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/substring-locations.h +8ca9711265b5695339087d5948f10633 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symbol-summary.h +e6c15bb100982c366657793f0ba5405f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-clones.h +1df86ebb721c32a31780042b3a5afa4f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab-thunks.h +fdb620c15e6f934b317e2311ee26683e usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/symtab.h +ff3675d3b97df46f8e1ed96a13ce7dd7 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/sync-builtins.def +ee12e84ef05b803a91d679b951df2689 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/system.h +744e683ea9d5282ff763bca2bba4f90d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-def.h +a4178410f0dd9596b6066554d292aa02 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-globals.h +8dc47cb819f4fa9f64f6243fdb29a1fd usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-hooks-macros.h +ef72864327fae4a3df881df1d8c44b16 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target-insns.def +b4eef2f8d349daf0bd5a4412068c2291 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.def +b829ed0032c899e107be2db349c913f3 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/target.h +edb193a32070c4a7626fb75382def9b9 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/targhooks.h +c0d0ded25bef349cbc939387fd1c67b1 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.def +cba5406970f4fb4e80232452b05c95b1 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/timevar.h +7c7c3420cffe8689b43517beac6cc39d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm-preds.h +ab96f4efe68ab7a37326cbbe2352ec56 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm.h +6854588785db356a82804796d92d4295 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tm_p.h +a661528cf07e076cca4056e693ad0d3d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/toplev.h +97a1500e75b12216a540682db201b58d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tracer.h +41f165f234cc64d36b07d87290ce6d0a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/trans-mem.h +af4dad4e7c08b9fb38895d9d5c6480a5 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-affine.h +2921805a6732bc91a8722618d4189584 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfg.h +a027071bbc28b44a8697ab0a322059e7 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-cfgcleanup.h +0abb5881af640f51a1d76a2b1e2f0b39 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-check.h +36c8667090105100455277b131b1db62 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-chrec.h +9a5b72989d74c0d97cbb0289e27a677c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-core.h +bc11b118ba0b8bafdf4ce00928b10bc0 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-data-ref.h +25b2344a8a870f7c9c3a04df1cd70c27 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dfa.h +497415d4f3c2631a2ed6b125e635cb4e usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-diagnostic.h +ad4739e1ababa9fe99c700a409d4d39c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-dump.h +6393cd11119dc8ba74124d979d213cdb usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-eh.h +582c0d8e240fd276fd28bed9cfa593f3 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hash-traits.h +51a9944253ec880d2fcefce4f457fd81 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-hasher.h +d827a40245726bb17d7019eeb50733a5 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-if-conv.h +05a54334040842ce3f2e8586d3d67b76 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-inline.h +f1fe226578aba70864fab526bf69c25b usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-into-ssa.h +ccda522d2791061d143ed10d67ebb8ab usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-iterator.h +aa8406f5353334e06321a4bfde913f90 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-logical-location.h +9bba957c6a1ab17bb89c93f7fe4f63df usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-nested.h +bfa736bad94c583d64422b6c456d417c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-object-size.h +68b06a88c5e019fa02e2cc89cc51aae9 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-outof-ssa.h +94e2a7b7b4ede5c0c6e9ddcc31887922 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-parloops.h +0235b0de35a9a46d6154c88ddde7e696 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pass.h +a454429f57d8839090a7ec73abbfa772 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-phinodes.h +feca017a2b8993f6879429c3b7fa9740 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-pretty-print.h +b8223329488a4001552728350c5dbbef usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-scalar-evolution.h +1f7981f8ac0c98c7d1acb674035e2c16 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-sra.h +c37e139873f3e8da2fffefa09903ee42 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-address.h +a8390868d15220dfcd12e320402468a6 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias-compare.h +ba44f6b9cdb34f227ce92ce6bbaaf35d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-alias.h +cd2e4de6ee944facf2a1995f8743f8c2 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ccp.h +96b67f0be71acb075f0ac5ac12c58664 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-coalesce.h +e36c0da1e5dc257d4ccff9c24043d7fc usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dce.h +aba207ac671bbe2380e556429ad21a00 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dom.h +9fe4418350cac32811c9ed2ed8de371f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-dse.h +d68a110616d98e6c023567d2239e4e13 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-live.h +370a3d6606f97b793ee8a94e17f8a1f5 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-ivopts.h +c10dc1a11bed8461c36db2d370f534b6 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-manip.h +63e23177ceb0e06f07092e962fb6ec1e usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop-niter.h +943d41105325f8de1cdae2b4faf2dd0a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-loop.h +e9484a6f5b1f9056c6681cedce910ed4 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-math-opts.h +0db421e827039fe3c4f796b4c7600c52 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-operands.h +658e45ca3c1c387fbd4e8bf835de1acd usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-propagate.h +3d6728ab6aa97921854f86b5d2116c3d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-reassoc.h +1c663c39e61b7e64cbea685db2598475 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-sccvn.h +bdda02f8f5872266cc26122c45c7d248 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-scopedtables.h +cae334e8d7f57adf439062af515c28ae usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-strlen.h +ae3a1dc45c510377c6acedecbc823d32 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-ter.h +ac4c7ef64fae79629a0ea0c741c25ba7 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadedge.h +52eb7df5e9ebd417f62e6b8d01ce878a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa-threadupdate.h +ed13c4549041c596b249948a9d4583a3 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssa.h +b238783d1764a95333811500c3144a7c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-ssanames.h +6a98188a4af79ee9fb79c2d93528ab27 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-stdarg.h +4e31a4ce5936cf46e49ed3fd6bc1c49d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-streamer.h +7c63c2566792c75263e89aad9dbdd648 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-switch-conversion.h +672861a6f3b4ede253a47c708e10856d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vector-builder.h +273e2d8b40a81cd971fbfbf62d964bfa usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vectorizer.h +1506b4121fe3a1f91b7dce7fd11903b1 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree-vrp.h +90cbee0521eed701cdda38cb80c79c9a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.def +fe516d7c8d021430db52ce4066099c2c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tree.h +1bc8e733e733c31e894ea8e9911dc5c0 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/treestruct.def +bed18fb33b65339128107e69ef48793c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tristate.h +01c10e5628835da3fe84a5d0b35db703 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsan.h +d583fab067d805f6faa3a0c843de7b9c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/tsystem.h +fcb65b893faa201083a06dbdeab0d943 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typeclass.h +6b94f4f6cbec65970fd2b161eaddf0c6 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/typed-splay-tree.h +42de1b0b3ffabde0a54387be6e2b87b9 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ubsan.h +b9e4a4b10a8dd4e13e216336646d9cfe usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/valtrack.h +1daf8ab2778fdbe2b361c03a360d09c9 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-pointer-equiv.h +eaf2f0aeb4ab13c534f4cab90292864c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-prof.h +4b55f5063a791bade30257a874003cd9 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-query.h +cc2c1890bdcf636e36bcdd23285dd304 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-pretty-print.h +1127df135ad647ce7accd976a6d0768b usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range-storage.h +c557a2ad003ef8de2d230d1dd92e20d6 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-range.h +4d6e7c80d58e26a86b0f46f81d4fe33c usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/value-relation.h +a801df1efea35850028f5ec3cc36b36d usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/varasm.h +62f7d88ca9346db03da5c98fef955157 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec-perm-indices.h +66700302caecc89e2cc99d787765a563 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vec.h +bcafa6a45764f2086d9577f869904710 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vector-builder.h +1b2d1d7a93d9e8d8ebf6a6cc542efa02 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/version.h +89d1d6fdd6c9d3840caaa4c079b5ea25 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vmsdbg.h +3ec3f5b4c45bf6b1f4b696150ea2849b usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vr-values.h +2cf786a34c31d5dd28a3262580186c40 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/vtable-verify.h +12ab43583253ecdcfbffb23b426e47af usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-bitmask.h +ebc3498f02b086ce0e67eab6a6fece3f usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int-print.h +0eb153be091e6f61b9b03c8fd72336d1 usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/wide-int.h +83081f4aecfcb23b16fa34e4109aa61a usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/xcoff.h +0a49f34b9b8de8159f5062be07a94014 usr/libexec/gcc/x86_64-linux-gnu/13/plugin/gengtype +4337e6d3365e49db0e5bf73a115111b0 usr/share/lintian/overrides/gcc-13-plugin-dev diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def new file mode 100644 index 0000000000..ff88e54793 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ada/gcc-interface/ada-tree.def @@ -0,0 +1,83 @@ +/**************************************************************************** + * * + * 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h new file mode 100644 index 0000000000..3519c241c6 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/addresses.h @@ -0,0 +1,90 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h new file mode 100644 index 0000000000..0f0787d8ba --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alias.h @@ -0,0 +1,51 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h new file mode 100644 index 0000000000..5e94bd3e82 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/align.h @@ -0,0 +1,83 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def new file mode 100644 index 0000000000..791c7a8db7 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/all-tree.def @@ -0,0 +1,8 @@ +#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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h new file mode 100644 index 0000000000..e56709b7cf --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/alloc-pool.h @@ -0,0 +1,576 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h new file mode 100644 index 0000000000..39375e1715 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ansidecl.h @@ -0,0 +1,354 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h new file mode 100644 index 0000000000..4cc686fb83 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/array-traits.h @@ -0,0 +1,48 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h new file mode 100644 index 0000000000..7d26b413ac --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/asan.h @@ -0,0 +1,264 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h new file mode 100644 index 0000000000..99d5f896e8 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attr-fnspec.h @@ -0,0 +1,304 @@ +/* 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 bound 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 bound + 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h new file mode 100644 index 0000000000..84a43658a7 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/attribs.h @@ -0,0 +1,401 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h new file mode 100644 index 0000000000..cc8908b944 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-host.h @@ -0,0 +1,2722 @@ +/* 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 "--compress-debug-sections" +#endif + + +/* Define to the assembler option to disable compressed debug sections. */ +#ifndef USED_FOR_TARGET +#define AS_NO_COMPRESS_DEBUG_OPTION "--nocompress-debug-sections" +#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 1 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 1 +#endif + + +/* Define if your target supports default PIE and it is enabled. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DEFAULT_PIE 1 +#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 +#define ENABLE_LD_BUILDID 1 +#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 +#define ENABLE_MULTIARCH 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define this to enable support for offloading. */ +#ifndef USED_FOR_TARGET +#define ENABLE_OFFLOADING 1 +#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/i386/i386-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 +#define GWINSZ_IN_SYS_IOCTL 1 +#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 2 +#endif + + +/* Define if your assembler supports conditional branch relaxation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_COND_BRANCH_RELAXATION */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#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 +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports views in dwarf2 .loc directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_VIEW 1 +#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 +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the --gdwarf-5 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF_5_DEBUG_FLAG 1 +#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 +#define HAVE_AS_GOTOFF_IN_DATA 1 +#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 +#define HAVE_AS_IX86_DIFF_SECT_DELTA 1 +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_IX86_FFREEP 1 +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_IX86_FILDQ 1 +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_IX86_FILDS 1 +#endif + + +/* Define 0/1 if your assembler and linker support @GOT. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_IX86_GOT32X 1 +#endif + + +/* Define if your assembler supports HLE prefixes. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_IX86_HLE 1 +#endif + + +/* Define if your assembler supports interunit movq mnemonic. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_IX86_INTERUNIT_MOVQ 1 +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_IX86_QUAD 1 +#endif + + +/* Define if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_IX86_REP_LOCK_PREFIX 1 +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_IX86_SAHF 1 +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_IX86_SWAP 1 +#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 +#define HAVE_AS_IX86_TLSLDM 1 +#endif + + +/* Define to 1 if your assembler and linker support @tlsldmplt. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_IX86_TLSLDMPLT 0 +#endif + + +/* Define 0/1 if your assembler and linker support calling ___tls_get_addr via + GOT. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_IX86_TLS_GET_ADDR_GOT 1 +#endif + + +/* Define if your assembler supports the 'ud2' mnemonic. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_IX86_UD2 1 +#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 1 +#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 +#define HAVE_AS_LINE_ZERO 1 +#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 your macOS assembler supports .build_version directives */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MACOS_BUILD_VERSION */ +#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 macOS assembler supports the -mmacos-version-min option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MMACOSX_VERSION_MIN_OPTION */ +#endif + + +/* Define if your assembler supports -mrelax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MRELAX_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 htm insns on power10. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POWER10_HTM */ +#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 +#define HAVE_AS_TLS 1 +#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 +#define HAVE_AS_WORKING_DWARF_N_FLAG 1 +#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 1 +#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 1 +#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 1 +#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 1 +#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 1 +#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 1 +#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 1 +#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 1 +#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 1 +#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 1 +#endif + + +/* Define to 1 if we found a declaration for 'mallinfo2', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLINFO2 1 +#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 1 +#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 +#define HAVE_FFLUSH_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FGETC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FGETS_UNLOCKED 1 +#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 +#define HAVE_FPUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FPUTS_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FREAD_UNLOCKED 1 +#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 +#define HAVE_FWRITE_UNLOCKED 1 +#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 +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#define HAVE_GAS_CFI_DIRECTIVE 1 + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1 + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1 + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_GNU_UNIQUE_OBJECT 1 +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* 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 +#define HAVE_GAS_LOC_STMT 1 +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#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 1 +#endif + + +/* Define 0/1 if your assembler supports 'o' flag in .section directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SECTION_LINK_ORDER 1 +#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 1 +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getauxval' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETAUXVAL 1 +#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 1 +#endif + + +/* Define if your system supports gnu indirect functions. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_INDIRECT_FUNCTION 1 +#endif + + +/* Define to 1 if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 1 +#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 1 +#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 +#define HAVE_LD_AS_NEEDED 1 +#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 +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if the linker supports clearing hardware capabilities via mapfile. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_CLEARCAP */ +#endif + + +/* Define to the level of your linker's compressed debug section support. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_COMPRESS_DEBUG 2 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_DEMANGLE 1 +#endif + + +/* Define 0/1 if your linker supports CIE v3 in .eh_frame. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_EH_FRAME_CIEV3 1 +#endif + + +/* Define if your linker supports .eh_frame_hdr. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_EH_GC_SECTIONS 1 +#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 +#define HAVE_LD_PIE 1 +#endif + + +/* Define 0/1 if your linker supports -pie option with copy reloc. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE_COPYRELOC 1 +#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 +#define HAVE_LD_PUSHPOPSTATE_SUPPORT 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#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 +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#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 2 +#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 +#define HAVE_MALLINFO 1 +#endif + + +/* Define to 1 if you have the `mallinfo2' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLINFO2 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#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 +#define HAVE_MMAP_DEV_ZERO 1 +#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 +#define HAVE_POSIX_FALLOCATE 1 +#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 +#define HAVE_SYS_AUXV_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_AUXV_H 1 +#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 +#define HAVE_TR1_UNORDERED_MAP 1 +#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 +#define INT64_T_IS_LONG 1 +#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 +#define LD_AS_NEEDED_OPTION "--push-state --as-needed" +#endif + + +/* Define to the linker option to enable compressed debug sections. */ +#ifndef USED_FOR_TARGET +#define LD_COMPRESS_DEBUG_OPTION "--compress-debug-sections" +#endif + + +/* Define to the linker option to enable use of shared objects. */ +#ifndef USED_FOR_TARGET +#define LD_DYNAMIC_OPTION "-Bdynamic" +#endif + + +/* Define to the linker option to keep unused dependencies. */ +#ifndef USED_FOR_TARGET +#define LD_NO_AS_NEEDED_OPTION "--pop-state" +#endif + + +/* Define to the linker option to disable use of shared objects. */ +#ifndef USED_FOR_TARGET +#define LD_STATIC_OPTION "-Bstatic" +#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 +#define OFFLOAD_DEFAULTED 1 +#endif + + +/* Define to offload targets, separated by commas. */ +#ifndef USED_FOR_TARGET +#define OFFLOAD_TARGETS "nvptx-none,amdgcn-amdhsa" +#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 "ld" +#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 8 +#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 2 +#endif + + +/* GNU C Library minor version number used on the target, or 0. */ +#ifndef USED_FOR_TARGET +#define TARGET_GLIBC_MINOR 39 +#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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h new file mode 100644 index 0000000000..8b4cd06132 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/auto-profile.h @@ -0,0 +1,31 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars new file mode 100644 index 0000000000..9163147a80 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/b-header-vars @@ -0,0 +1,95 @@ +USER_H=float.h iso646.h stdarg.h stdbool.h stddef.h varargs.h stdfix.h stdnoreturn.h stdalign.h stdatomic.h config/i386/cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h pmmintrin.h tmmintrin.h ammintrin.h smmintrin.h nmmintrin.h bmmintrin.h fma4intrin.h wmmintrin.h immintrin.h x86intrin.h avxintrin.h xopintrin.h ia32intrin.h cross-stdarg.h lwpintrin.h popcntintrin.h lzcntintrin.h bmiintrin.h bmi2intrin.h tbmintrin.h avx2intrin.h avx512fintrin.h fmaintrin.h f16cintrin.h rtmintrin.h xtestintrin.h rdseedintrin.h prfchwintrin.h adxintrin.h fxsrintrin.h xsaveintrin.h xsaveoptintrin.h avx512cdintrin.h avx512erintrin.h avx512pfintrin.h shaintrin.h clflushoptintrin.h xsavecintrin.h xsavesintrin.h avx512dqintrin.h avx512bwintrin.h avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h avx512vbmivlintrin.h avx5124fmapsintrin.h avx5124vnniwintrin.h avx512vpopcntdqintrin.h clwbintrin.h mwaitxintrin.h clzerointrin.h pkuintrin.h sgxintrin.h cetintrin.h gfniintrin.h cet.h avx512vbmi2intrin.h avx512vbmi2vlintrin.h avx512vnniintrin.h avx512vnnivlintrin.h vaesintrin.h vpclmulqdqintrin.h avx512vpopcntdqvlintrin.h avx512bitalgintrin.h pconfigintrin.h wbnoinvdintrin.h movdirintrin.h waitpkgintrin.h cldemoteintrin.h avx512bf16vlintrin.h avx512bf16intrin.h enqcmdintrin.h serializeintrin.h avx512vp2intersectintrin.h avx512vp2intersectvlintrin.h tsxldtrkintrin.h amxtileintrin.h amxint8intrin.h amxbf16intrin.h x86gprintrin.h uintrintrin.h hresetintrin.h keylockerintrin.h avxvnniintrin.h mwaitintrin.h avx512fp16intrin.h avx512fp16vlintrin.h avxifmaintrin.h avxvnniint8intrin.h avxneconvertintrin.h cmpccxaddintrin.h amxfp16intrin.h prfchiintrin.h raointintrin.h amxcomplexintrin.h mm_malloc.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/i386/i386-protos.h linux-protos.h tm-preds.h +TM_D_H=tm_d.h config/i386/i386-d.h +GTM_H=tm.h options.h config/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h +TM_H=tm.h options.h config/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.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/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.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/i386/i386-opts.h stringop.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 i386-opts.h stringop.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/i386/i386-opts.h stringop.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/i386/i386-opts.h stringop.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/i386/i386-opts.h stringop.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/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.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/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.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 i386-opts.h stringop.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/i386/i386-opts.h stringop.def +OPTIONS_H=options.h flag-types.h config/i386/i386-opts.h stringop.def +FUNCTION_H=function.h hashtab.h tm.h options.h config/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.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/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.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 i386-opts.h stringop.def genrtl.h flags.h flag-types.h options.h flag-types.h i386-opts.h stringop.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 i386-opts.h stringop.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/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.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/i386/i386-opts.h stringop.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 i386-opts.h stringop.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 vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.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 vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def i386-cpuinfo.h i386-isa.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/i386/i386-opts.h stringop.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/i386/i386-opts.h stringop.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 vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.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 vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def i386-cpuinfo.h i386-isa.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/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.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/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.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/i386/i386-opts.h stringop.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/i386/i386-opts.h stringop.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/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.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 vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def i386-cpuinfo.h i386-isa.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 i386-opts.h stringop.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 i386-opts.h stringop.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 vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def i386-cpuinfo.h i386-isa.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 vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def i386-cpuinfo.h i386-isa.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 i386-opts.h stringop.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/i386/i386-opts.h stringop.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 i386-opts.h stringop.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/vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.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 i386-opts.h stringop.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 vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def i386-cpuinfo.h i386-isa.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 vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def i386-cpuinfo.h i386-isa.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 i386-opts.h stringop.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 vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def i386-cpuinfo.h i386-isa.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 i386-opts.h stringop.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/i386/i386-opts.h stringop.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 i386-opts.h stringop.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 vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def common/config/i386/i386-cpuinfo.h i386-isa.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 vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def i386-cpuinfo.h i386-isa.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 vxworks-dummy.h biarch64.h i386.h unix.h att.h elfos.h gnu-user.h glibc-stdint.h x86-64.h gnu-user-common.h gnu-user64.h linux.h linux-android.h linux-common.h linux64.h initfini-array.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h i386-opts.h stringop.def x86-tune.def i386-cpuinfo.h i386-isa.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 i386-opts.h stringop.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-i386.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-i386-builtins.h gt-i386-expand.h gt-i386-options.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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h new file mode 100644 index 0000000000..42c6b762e6 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/backend.h @@ -0,0 +1,35 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h new file mode 100644 index 0000000000..29191e5672 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/basic-block.h @@ -0,0 +1,642 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h new file mode 100644 index 0000000000..c24322d181 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bb-reorder.h @@ -0,0 +1,40 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h new file mode 100644 index 0000000000..43337d2e9d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bitmap.h @@ -0,0 +1,1089 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def new file mode 100644 index 0000000000..782e82d183 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-attrs.def @@ -0,0 +1,427 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def new file mode 100644 index 0000000000..5cb25ab71d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtin-types.def @@ -0,0 +1,1062 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def new file mode 100644 index 0000000000..4ad95a12f8 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.def @@ -0,0 +1,1190 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h new file mode 100644 index 0000000000..6a43de4b3e --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/builtins.h @@ -0,0 +1,160 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h new file mode 100644 index 0000000000..56f6a5a6aa --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/bversion.h @@ -0,0 +1,4 @@ +#define BUILDING_GCC_MAJOR 13 +#define BUILDING_GCC_MINOR 3 +#define BUILDING_GCC_PATCHLEVEL 0 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def new file mode 100644 index 0000000000..68ae964344 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.def @@ -0,0 +1,96 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h new file mode 100644 index 0000000000..f96350b64a --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-common.h @@ -0,0 +1,1587 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h new file mode 100644 index 0000000000..ee88a794c4 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-objc.h @@ -0,0 +1,183 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h new file mode 100644 index 0000000000..9cc95ab3ee --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pragma.h @@ -0,0 +1,286 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h new file mode 100644 index 0000000000..a7076f29ec --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-family/c-pretty-print.h @@ -0,0 +1,142 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h new file mode 100644 index 0000000000..e6b6fe9a40 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/c-tree.h @@ -0,0 +1,911 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h new file mode 100644 index 0000000000..c7f8c5e4b3 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/calls.h @@ -0,0 +1,138 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h new file mode 100644 index 0000000000..f6f73897ab --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ccmp.h @@ -0,0 +1,25 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def new file mode 100644 index 0000000000..2d8ccd93d2 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg-flags.def @@ -0,0 +1,191 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h new file mode 100644 index 0000000000..4cd2958bae --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfg.h @@ -0,0 +1,186 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h new file mode 100644 index 0000000000..0b6c67dfab --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfganal.h @@ -0,0 +1,90 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h new file mode 100644 index 0000000000..51d3eccb1a --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgbuild.h @@ -0,0 +1,28 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h new file mode 100644 index 0000000000..46ce640655 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgcleanup.h @@ -0,0 +1,35 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h new file mode 100644 index 0000000000..0e551f6cfd --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgexpand.h @@ -0,0 +1,28 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h new file mode 100644 index 0000000000..7c87712c8d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfghooks.h @@ -0,0 +1,289 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h new file mode 100644 index 0000000000..e7ac2b5f3d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloop.h @@ -0,0 +1,936 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h new file mode 100644 index 0000000000..93e417fcb7 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgloopmanip.h @@ -0,0 +1,63 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h new file mode 100644 index 0000000000..ba0e721dc2 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cfgrtl.h @@ -0,0 +1,62 @@ +/* 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 prepend_insn_to_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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h new file mode 100644 index 0000000000..430c87d8bb --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cgraph.h @@ -0,0 +1,3589 @@ +/* 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); + + /* Check symbol table for callees of IFUNC resolvers. */ + static void check_ifunc_callee_symtab_nodes (void); + + /* 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), + called_by_ifunc_resolver (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; + /* Set if the function is called by an IFUNC resolver. */ + unsigned called_by_ifunc_resolver : 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. + + When called from within tree-inline, KILLED_SSAs has to contain the + pointer to killed_new_ssa_names within the copy_body_data structure and + SSAs discovered to be useless (if LHS is removed) will be added to it, + otherwise it needs to be NULL. + + It is up to caller to iteratively transform each "speculative" + direct call as appropriate. */ + static gimple *redirect_call_stmt_to_callee (cgraph_edge *e, + hash_set + *killed_ssas = nullptr); + + /* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def new file mode 100644 index 0000000000..af88d83de0 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cif-code.def @@ -0,0 +1,144 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h new file mode 100644 index 0000000000..b872eabb2f --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect-utils.h @@ -0,0 +1,51 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h new file mode 100644 index 0000000000..6fdafff381 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2-aix.h @@ -0,0 +1,306 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h new file mode 100644 index 0000000000..de12ef0655 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/collect2.h @@ -0,0 +1,39 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h new file mode 100644 index 0000000000..fcd79d09c0 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/color-macros.h @@ -0,0 +1,108 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h new file mode 100644 index 0000000000..254dfec70e --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/common/config/i386/i386-cpuinfo.h @@ -0,0 +1,273 @@ +/* Get CPU type and Features for x86 processors. + Copyright (C) 2012-2023 Free Software Foundation, Inc. + Contributed by Sriraman Tallam (tmsriram@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. + +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 +. */ + +/* Processor Vendor and Models. */ + +enum processor_vendor +{ + VENDOR_INTEL = 1, + VENDOR_AMD, + VENDOR_ZHAOXIN, + VENDOR_OTHER, + VENDOR_CENTAUR, + VENDOR_CYRIX, + VENDOR_NSC, + + /* Maximum values must be at the end of this enum. */ + VENDOR_MAX, + BUILTIN_VENDOR_MAX = VENDOR_OTHER +}; + +/* Any new types or subtypes have to be inserted at the end. */ + +enum processor_types +{ + INTEL_BONNELL = 1, + INTEL_CORE2, + INTEL_COREI7, + AMDFAM10H, + AMDFAM15H, + INTEL_SILVERMONT, + INTEL_KNL, + AMD_BTVER1, + AMD_BTVER2, + AMDFAM17H, + INTEL_KNM, + INTEL_GOLDMONT, + INTEL_GOLDMONT_PLUS, + INTEL_TREMONT, + AMDFAM19H, + ZHAOXIN_FAM7H, + INTEL_SIERRAFOREST, + INTEL_GRANDRIDGE, + CPU_TYPE_MAX, + BUILTIN_CPU_TYPE_MAX = CPU_TYPE_MAX +}; + +enum processor_subtypes +{ + INTEL_COREI7_NEHALEM = 1, + INTEL_COREI7_WESTMERE, + INTEL_COREI7_SANDYBRIDGE, + AMDFAM10H_BARCELONA, + AMDFAM10H_SHANGHAI, + AMDFAM10H_ISTANBUL, + AMDFAM15H_BDVER1, + AMDFAM15H_BDVER2, + AMDFAM15H_BDVER3, + AMDFAM15H_BDVER4, + AMDFAM17H_ZNVER1, + INTEL_COREI7_IVYBRIDGE, + INTEL_COREI7_HASWELL, + INTEL_COREI7_BROADWELL, + INTEL_COREI7_SKYLAKE, + INTEL_COREI7_SKYLAKE_AVX512, + INTEL_COREI7_CANNONLAKE, + INTEL_COREI7_ICELAKE_CLIENT, + INTEL_COREI7_ICELAKE_SERVER, + AMDFAM17H_ZNVER2, + INTEL_COREI7_CASCADELAKE, + INTEL_COREI7_TIGERLAKE, + INTEL_COREI7_COOPERLAKE, + INTEL_COREI7_SAPPHIRERAPIDS, + INTEL_COREI7_ALDERLAKE, + AMDFAM19H_ZNVER3, + INTEL_COREI7_ROCKETLAKE, + ZHAOXIN_FAM7H_LUJIAZUI, + AMDFAM19H_ZNVER4, + INTEL_COREI7_GRANITERAPIDS, + INTEL_COREI7_GRANITERAPIDS_D, + CPU_SUBTYPE_MAX +}; + +/* Priority of i386 features, greater value is higher priority. This is + used to decide the order in which function dispatch must happen. For + instance, a version specialized for SSE4.2 should be checked for dispatch + before a version for SSE3, as SSE4.2 implies SSE3. */ +enum feature_priority +{ + P_NONE = 0, + P_MMX, + P_SSE, + P_SSE2, + P_X86_64_BASELINE, + P_SSE3, + P_SSSE3, + P_PROC_SSSE3, + P_SSE4_A, + P_PROC_SSE4_A, + P_SSE4_1, + P_SSE4_2, + P_PROC_SSE4_2, + P_POPCNT, + P_X86_64_V2, + P_AES, + P_PCLMUL, + P_AVX, + P_PROC_AVX, + P_BMI, + P_PROC_BMI, + P_FMA4, + P_XOP, + P_PROC_XOP, + P_FMA, + P_PROC_FMA, + P_BMI2, + P_AVX2, + P_PROC_AVX2, + P_X86_64_V3, + P_AVX512F, + P_PROC_AVX512F, + P_X86_64_V4, + P_PROC_DYNAMIC +}; + +/* ISA Features supported. New features have to be inserted at the end. */ + +enum processor_features +{ + FEATURE_CMOV = 0, + FEATURE_MMX, + FEATURE_POPCNT, + FEATURE_SSE, + FEATURE_SSE2, + FEATURE_SSE3, + FEATURE_SSSE3, + FEATURE_SSE4_1, + FEATURE_SSE4_2, + FEATURE_AVX, + FEATURE_AVX2, + FEATURE_SSE4_A, + FEATURE_FMA4, + FEATURE_XOP, + FEATURE_FMA, + FEATURE_AVX512F, + FEATURE_BMI, + FEATURE_BMI2, + FEATURE_AES, + FEATURE_PCLMUL, + FEATURE_AVX512VL, + FEATURE_AVX512BW, + FEATURE_AVX512DQ, + FEATURE_AVX512CD, + FEATURE_AVX512ER, + FEATURE_AVX512PF, + FEATURE_AVX512VBMI, + FEATURE_AVX512IFMA, + FEATURE_AVX5124VNNIW, + FEATURE_AVX5124FMAPS, + FEATURE_AVX512VPOPCNTDQ, + FEATURE_AVX512VBMI2, + FEATURE_GFNI, + FEATURE_VPCLMULQDQ, + FEATURE_AVX512VNNI, + FEATURE_AVX512BITALG, + FEATURE_AVX512BF16, + FEATURE_AVX512VP2INTERSECT, + FEATURE_3DNOW, + FEATURE_3DNOWP, + FEATURE_ADX, + FEATURE_ABM, + FEATURE_CLDEMOTE, + FEATURE_CLFLUSHOPT, + FEATURE_CLWB, + FEATURE_CLZERO, + FEATURE_CMPXCHG16B, + FEATURE_CMPXCHG8B, + FEATURE_ENQCMD, + FEATURE_F16C, + FEATURE_FSGSBASE, + FEATURE_FXSAVE, + FEATURE_HLE, + FEATURE_IBT, + FEATURE_LAHF_LM, + FEATURE_LM, + FEATURE_LWP, + FEATURE_LZCNT, + FEATURE_MOVBE, + FEATURE_MOVDIR64B, + FEATURE_MOVDIRI, + FEATURE_MWAITX, + FEATURE_OSXSAVE, + FEATURE_PCONFIG, + FEATURE_PKU, + FEATURE_PREFETCHWT1, + FEATURE_PRFCHW, + FEATURE_PTWRITE, + FEATURE_RDPID, + FEATURE_RDRND, + FEATURE_RDSEED, + FEATURE_RTM, + FEATURE_SERIALIZE, + FEATURE_SGX, + FEATURE_SHA, + FEATURE_SHSTK, + FEATURE_TBM, + FEATURE_TSXLDTRK, + FEATURE_VAES, + FEATURE_WAITPKG, + FEATURE_WBNOINVD, + FEATURE_XSAVE, + FEATURE_XSAVEC, + FEATURE_XSAVEOPT, + FEATURE_XSAVES, + FEATURE_AMX_TILE, + FEATURE_AMX_INT8, + FEATURE_AMX_BF16, + FEATURE_UINTR, + FEATURE_HRESET, + FEATURE_KL, + FEATURE_AESKLE, + FEATURE_WIDEKL, + FEATURE_AVXVNNI, + FEATURE_AVX512FP16, + FEATURE_X86_64_BASELINE, + FEATURE_X86_64_V2, + FEATURE_X86_64_V3, + FEATURE_X86_64_V4, + FEATURE_AVXIFMA, + FEATURE_AVXVNNIINT8, + FEATURE_AVXNECONVERT, + FEATURE_CMPCCXADD, + FEATURE_AMX_FP16, + FEATURE_PREFETCHI, + FEATURE_RAOINT, + FEATURE_AMX_COMPLEX, + CPU_FEATURE_MAX +}; + +/* Size of __cpu_features2 array in libgcc/config/i386/cpuinfo.c. */ +#define SIZE_OF_CPU_FEATURES ((CPU_FEATURE_MAX - 1) / 32) + +/* These are the values for vendor types, cpu types and subtypes. Cpu + types and subtypes should be subtracted by the corresponding start + value. */ + +#define M_CPU_TYPE_START (BUILTIN_VENDOR_MAX) +#define M_CPU_SUBTYPE_START \ + (M_CPU_TYPE_START + BUILTIN_CPU_TYPE_MAX) +#define M_VENDOR(a) (a) +#define M_CPU_TYPE(a) (M_CPU_TYPE_START + a) +#define M_CPU_SUBTYPE(a) (M_CPU_SUBTYPE_START + a) diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h new file mode 100644 index 0000000000..92a60e287b --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/conditions.h @@ -0,0 +1,69 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h new file mode 100644 index 0000000000..aa6dd6bbbd --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config.h @@ -0,0 +1,10 @@ +#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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h new file mode 100644 index 0000000000..f294f3b570 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/elfos.h @@ -0,0 +1,484 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h new file mode 100644 index 0000000000..76d73847bd --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/glibc-stdint.h @@ -0,0 +1,64 @@ +/* Definitions for types on systems using GNU libc or uClibc. + 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 +. */ + +/* Systems using musl libc should use this header and make sure + OPTION_MUSL is defined correctly before using the TYPE macros. */ +#ifndef OPTION_MUSL +#define OPTION_MUSL 0 +#endif +#ifndef OPTION_MUSL_P +#define OPTION_MUSL_P(opts) 0 +#endif + +#define SIG_ATOMIC_TYPE "int" + +#define INT8_TYPE "signed char" +#define INT16_TYPE "short int" +#define INT32_TYPE "int" +#define INT64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int") +#define UINT8_TYPE "unsigned char" +#define UINT16_TYPE "short unsigned int" +#define UINT32_TYPE "unsigned int" +#define UINT64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int") + +#define INT_LEAST8_TYPE "signed char" +#define INT_LEAST16_TYPE "short int" +#define INT_LEAST32_TYPE "int" +#define INT_LEAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int") +#define UINT_LEAST8_TYPE "unsigned char" +#define UINT_LEAST16_TYPE "short unsigned int" +#define UINT_LEAST32_TYPE "unsigned int" +#define UINT_LEAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int") + +#define INT_FAST8_TYPE "signed char" +#define INT_FAST16_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long int" : "int") +#define INT_FAST32_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long int" : "int") +#define INT_FAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int") +#define UINT_FAST8_TYPE "unsigned char" +#define UINT_FAST16_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long unsigned int" : "unsigned int") +#define UINT_FAST32_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long unsigned int" : "unsigned int") +#define UINT_FAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int") + +#define INTPTR_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "int") +#define UINTPTR_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "unsigned int") diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h new file mode 100644 index 0000000000..e6acbbc4d2 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/gnu-user.h @@ -0,0 +1,159 @@ +/* Definitions for systems using, at least optionally, a GNU + (glibc-based) userspace or other userspace with libc derived from + glibc (e.g. uClibc) or for which similar specs are appropriate. + Copyright (C) 1995-2023 Free Software Foundation, Inc. + Contributed by Eric Youngdale. + Modified for stabs-in-ELF by H.J. Lu (hjl@lucon.org). + +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 +. */ + +#undef ASM_APP_ON +#define ASM_APP_ON "#APP\n" + +#undef ASM_APP_OFF +#define ASM_APP_OFF "#NO_APP\n" + +#if ENABLE_OFFLOADING == 1 +#define CRTOFFLOADBEGIN "%{fopenacc|fopenmp:crtoffloadbegin%O%s}" +#define CRTOFFLOADEND "%{fopenacc|fopenmp:crtoffloadend%O%s}" +#else +#define CRTOFFLOADBEGIN "" +#define CRTOFFLOADEND "" +#endif + +#define GNU_USER_TARGET_CRTI "crti.o%s" +#define GNU_USER_TARGET_CRTN "crtn.o%s" + +/* Provide a STARTFILE_SPEC appropriate for GNU userspace. Here we add + the GNU userspace magical crtbegin.o file (see crtstuff.c) which + provides part of the support for getting C++ file-scope static + object constructed before entering `main'. */ + +#define GNU_USER_TARGET_STARTFILE_SPEC \ + "%{shared:; \ + pg|p|profile:%{static-pie:grcrt1.o%s;:gcrt1.o%s}; \ + static:crt1.o%s; \ + static-pie:rcrt1.o%s; \ + " PIE_SPEC ":Scrt1.o%s; \ + :crt1.o%s} " \ + GNU_USER_TARGET_CRTI " \ + %{static:crtbeginT.o%s; \ + shared|static-pie|" PIE_SPEC ":crtbeginS.o%s; \ + :crtbegin.o%s} \ + %{fvtable-verify=none:%s; \ + fvtable-verify=preinit:vtv_start_preinit.o%s; \ + fvtable-verify=std:vtv_start.o%s} " \ + CRTOFFLOADBEGIN +#undef STARTFILE_SPEC +#define STARTFILE_SPEC GNU_USER_TARGET_STARTFILE_SPEC + +/* Provide a ENDFILE_SPEC appropriate for GNU userspace. Here we tack on + the GNU userspace magical crtend.o file (see crtstuff.c) which + provides part of the support for getting C++ file-scope static + object constructed before entering `main', followed by a normal + GNU userspace "finalizer" file, `crtn.o'. */ + +#define GNU_USER_TARGET_ENDFILE_SPEC \ + "%{!static:%{fvtable-verify=none:%s; \ + fvtable-verify=preinit:vtv_end_preinit.o%s; \ + fvtable-verify=std:vtv_end.o%s}} \ + %{static:crtend.o%s; \ + shared|static-pie|" PIE_SPEC ":crtendS.o%s; \ + :crtend.o%s} " \ + GNU_USER_TARGET_CRTN " " \ + CRTOFFLOADEND +#undef ENDFILE_SPEC +#define ENDFILE_SPEC GNU_USER_TARGET_ENDFILE_SPEC + +/* This is for -profile to use -lc_p instead of -lc. */ +#define GNU_USER_TARGET_CC1_SPEC "%{profile:-p}" +#ifndef CC1_SPEC +#define CC1_SPEC GNU_USER_TARGET_CC1_SPEC +#endif + +/* The GNU C++ standard library requires that these macros be defined. */ +#undef CPLUSPLUS_CPP_SPEC +#define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)" + +#define GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC \ + "%{shared:-lc} \ + %{!shared:%{profile:-lc_p}%{!profile:-lc}}" + +#define GNU_USER_TARGET_LIB_SPEC \ + "%{pthread:-lpthread} " \ + GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC + +#undef LIB_SPEC +#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC + +#if defined(HAVE_LD_EH_FRAME_HDR) +#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} " +#endif + +#define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \ + "%{static|static-pie:--start-group} %G %{!nolibc:%L} \ + %{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}" + +#undef LINK_GCC_C_SEQUENCE_SPEC +#define LINK_GCC_C_SEQUENCE_SPEC GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC + +/* Use --as-needed -lgcc_s for eh support. */ +#ifdef HAVE_LD_AS_NEEDED +#define USE_LD_AS_NEEDED 1 +#endif + +#define TARGET_POSIX_IO + +#undef TARGET_LIBC_HAS_FUNCTION +#define TARGET_LIBC_HAS_FUNCTION gnu_libc_has_function + +/* Link -lasan early on the command line. For -static-libasan, don't link + it for -shared link, the executable should be compiled with -static-libasan + in that case, and for executable link with --{,no-}whole-archive around + it to force everything into the executable. And similarly for -ltsan, + -lhwasan, and -llsan. */ +#if defined(HAVE_LD_STATIC_DYNAMIC) +#undef LIBASAN_EARLY_SPEC +#define LIBASAN_EARLY_SPEC "%{!shared:libasan_preinit%O%s} " \ + "%{static-libasan:%{!shared:" \ + LD_STATIC_OPTION " --whole-archive -lasan --no-whole-archive " \ + LD_DYNAMIC_OPTION "}}%{!static-libasan:--push-state --no-as-needed -lasan --pop-state}" +#undef LIBHWASAN_EARLY_SPEC +#define LIBHWASAN_EARLY_SPEC "%{!shared:libhwasan_preinit%O%s} " \ + "%{static-libhwasan:%{!shared:" \ + LD_STATIC_OPTION " --whole-archive -lhwasan --no-whole-archive " \ + LD_DYNAMIC_OPTION "}}%{!static-libhwasan:--push-state --no-as-needed -lhwasan --pop-state}" +#undef LIBTSAN_EARLY_SPEC +#define LIBTSAN_EARLY_SPEC "%{!shared:libtsan_preinit%O%s} " \ + "%{static-libtsan:%{!shared:" \ + LD_STATIC_OPTION " --whole-archive -ltsan --no-whole-archive " \ + LD_DYNAMIC_OPTION "}}%{!static-libtsan:--push-state --no-as-needed -ltsan --pop-state}" +#undef LIBLSAN_EARLY_SPEC +#define LIBLSAN_EARLY_SPEC "%{!shared:liblsan_preinit%O%s} " \ + "%{static-liblsan:%{!shared:" \ + LD_STATIC_OPTION " --whole-archive -llsan --no-whole-archive " \ + LD_DYNAMIC_OPTION "}}%{!static-liblsan:--push-state --no-as-needed -llsan --pop-state}" +#endif + +#undef TARGET_F951_OPTIONS +#define TARGET_F951_OPTIONS "%{!nostdinc:\ + %:fortran-preinclude-file(-fpre-include= math-vector-fortran.h finclude%s/)}" diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h new file mode 100644 index 0000000000..80ea5e10db --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/att.h @@ -0,0 +1,91 @@ +/* Definitions for AT&T assembler syntax for the Intel 80386. + 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. + +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 the syntax of instructions and addresses. */ + +/* Prefix for internally generated assembler labels. */ +#define LPREFIX ".L" + +/* Assembler pseudos to introduce constants of various size. */ + +#define ASM_BYTE "\t.byte\t" +#define ASM_SHORT "\t.value\t" +#define ASM_LONG "\t.long\t" +#define ASM_QUAD "\t.quad\t" /* Should not be used for 32bit compilation. */ + +/* How to output an ASCII string constant. */ + +#undef ASM_OUTPUT_ASCII +#define ASM_OUTPUT_ASCII(FILE, PTR, SIZE) \ +do \ +{ size_t i = 0, limit = (SIZE); \ + while (i < limit) \ + { if (i%10 == 0) { if (i!=0) putc ('\n', (FILE)); \ + fputs (ASM_BYTE, (FILE)); } \ + else putc (',', (FILE)); \ + fprintf ((FILE), "0x%x", ((PTR)[i++] & 0377)) ;} \ + putc ('\n', (FILE)); \ +} while (0) + +/* Output at beginning of assembler file. */ +#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true + +/* This is how to output an assembler line + that says to advance the location counter + to a multiple of 2**LOG bytes. */ + +#define ASM_OUTPUT_ALIGN(FILE,LOG) \ + if ((LOG) != 0) fprintf ((FILE), "\t.align %d\n", 1 << (LOG)) + +/* This is how to output an assembler line + that says to advance the location counter by SIZE bytes. */ + +#undef ASM_OUTPUT_SKIP +#define ASM_OUTPUT_SKIP(FILE,SIZE) \ + fprintf ((FILE), "\t.set .,.+%u\n", (int)(SIZE)) + +/* Can't use ASM_OUTPUT_SKIP in text section; it doesn't leave 0s. */ + +#define ASM_NO_SKIP_IN_TEXT 1 + +/* Define the syntax of labels and symbol definitions/declarations. */ + +/* The prefix to add for compiler private assembler symbols. */ +#undef LOCAL_LABEL_PREFIX +#define LOCAL_LABEL_PREFIX "." + +/* This is how to store into the string BUF + 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'. */ + +#undef ASM_GENERATE_INTERNAL_LABEL +#define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER) \ + sprintf ((BUF), LOCAL_LABEL_PREFIX "%s%ld", (PREFIX), (long)(NUMBER)) + +/* The prefix to add to user-visible assembler symbols. */ + +#undef USER_LABEL_PREFIX +#define USER_LABEL_PREFIX "" diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h new file mode 100644 index 0000000000..afd5979edc --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/biarch64.h @@ -0,0 +1,29 @@ +/* Make configure files to produce biarch compiler defaulting to 64bit mode. + This file must be included very first, while the OS specific file later + to overwrite otherwise wrong defaults. + Copyright (C) 2001-2023 Free Software Foundation, Inc. + Contributed by Bo Thorsen . + +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_64BIT_DEFAULT (OPTION_MASK_ISA_64BIT | OPTION_MASK_ABI_64) +#define TARGET_BI_ARCH 1 diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h new file mode 100644 index 0000000000..40ef6ec170 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user-common.h @@ -0,0 +1,73 @@ +/* Common definitions for Intel 386 and AMD x86-64 systems using + GNU userspace. Copyright (C) 2012-2023 Free Software Foundation, Inc. + Contributed by Ilya Enkovich. + +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 svr4 ABI for the i386 says that records and unions are returned + in memory. In the 64bit compilation we will turn this flag off in + ix86_option_override_internal, as we never do pcc_struct_return + scheme on this target. */ +#undef DEFAULT_PCC_STRUCT_RETURN +#define DEFAULT_PCC_STRUCT_RETURN 1 + +/* We arrange for the whole %fs segment to map the tls area. */ +#undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT +#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT MASK_TLS_DIRECT_SEG_REFS + +#define TARGET_OS_CPP_BUILTINS() \ + do \ + { \ + GNU_USER_TARGET_OS_CPP_BUILTINS(); \ + } \ + while (0) + +#undef CPP_SPEC +#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" + +#undef GNU_USER_TARGET_CC1_SPEC +#define GNU_USER_TARGET_CC1_SPEC "%(cc1_cpu) %{profile:-p}" + +#undef CC1_SPEC +#define CC1_SPEC GNU_USER_TARGET_CC1_SPEC + +/* Similar to standard GNU userspace, but adding -ffast-math support. */ +#define GNU_USER_TARGET_MATHFILE_SPEC \ + "%{mdaz-ftz:crtfastmath.o%s;Ofast|ffast-math|funsafe-math-optimizations:%{!shared:%{!mno-daz-ftz:crtfastmath.o%s}}} \ + %{mpc32:crtprec32.o%s} \ + %{mpc64:crtprec64.o%s} \ + %{mpc80:crtprec80.o%s}" + +#undef ENDFILE_SPEC +#define ENDFILE_SPEC \ + GNU_USER_TARGET_MATHFILE_SPEC " " \ + GNU_USER_TARGET_ENDFILE_SPEC + +#define TARGET_ASM_FILE_END file_end_indicate_exec_stack + +/* The stack pointer needs to be moved while checking the stack. */ +#define STACK_CHECK_MOVING_SP 1 + +/* Static stack checking is supported by means of probes. */ +#define STACK_CHECK_STATIC_BUILTIN 1 + +/* We only build the -fsplit-stack support in libgcc if the + assembler has full support for the CFI directives. Also + we only support -fsplit-stack on glibc targets. */ +#if (DEFAULT_LIBC == LIBC_GLIBC) && HAVE_GAS_CFI_PERSONALITY_DIRECTIVE +#define TARGET_CAN_SPLIT_STACK +#endif diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h new file mode 100644 index 0000000000..c8ef981e21 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/gnu-user64.h @@ -0,0 +1,99 @@ +/* Definitions for AMD x86-64 using GNU userspace. + Copyright (C) 2001-2023 Free Software Foundation, Inc. + Contributed by Jan Hubicka , based on linux.h. + +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 a LINK_SPEC. Here we provide support for the special GCC + options -static and -shared, which allow us to link things in one + of these three modes by applying the appropriate combinations of + options at link-time. + + When the -shared link option is used a final link is not being + done. */ + +#if TARGET_64BIT_DEFAULT +#define SPEC_32 "m16|m32" +#if TARGET_BI_ARCH == 2 +#define SPEC_64 "m64" +#define SPEC_X32 "m16|m32|m64:;" +#else +#define SPEC_64 "m16|m32|mx32:;" +#define SPEC_X32 "mx32" +#endif +#else +#define SPEC_32 "m64|mx32:;" +#define SPEC_64 "m64" +#define SPEC_X32 "mx32" +#endif + +#undef ASM_SPEC +#define ASM_SPEC "%{" SPEC_32 ":--32} \ + %{" SPEC_64 ":--64} \ + %{" SPEC_X32 ":--x32} \ + %{msse2avx:%{!mavx:-msse2avx}}" + +#define GNU_USER_TARGET_LINK_SPEC \ + "%{" SPEC_64 ":-m " GNU_USER_LINK_EMULATION64 "} \ + %{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \ + %{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \ + --hash-style=gnu \ + %{!fsanitize=*:--as-needed} \ + %{shared:-shared} \ + %{!shared: \ + %{!static: \ + %{!static-pie: \ + %{rdynamic:-export-dynamic} \ + %{" SPEC_32 ":-dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "} \ + %{" SPEC_64 ":-dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "} \ + %{" SPEC_X32 ":-dynamic-linker " GNU_USER_DYNAMIC_LINKERX32 "}}} \ + %{static:-static} %{static-pie:-static -pie --no-dynamic-linker -z text}}" + +#undef LINK_SPEC +#define LINK_SPEC GNU_USER_TARGET_LINK_SPEC + +#if TARGET_64BIT_DEFAULT +#if TARGET_BI_ARCH == 2 +#define MULTILIB_DEFAULTS { "mx32" } +#else +#define MULTILIB_DEFAULTS { "m64" } +#endif +#else +#define MULTILIB_DEFAULTS { "m32" } +#endif + +#ifdef TARGET_LIBC_PROVIDES_SSP +/* i386 glibc provides __stack_chk_guard in %gs:0x14, + x32 glibc provides it in %fs:0x18. + x86_64 glibc provides it in %fs:0x28. */ +#define TARGET_THREAD_SSP_OFFSET \ + (TARGET_64BIT ? (TARGET_X32 ? 0x18 : 0x28) : 0x14) + +/* i386 glibc provides __private_ss in %gs:0x30. + x32 glibc provides it in %fs:0x40. + x86_64 glibc provides it in %fs:0x70. */ +#define TARGET_THREAD_SPLIT_STACK_OFFSET \ + (TARGET_64BIT ? (TARGET_X32 ? 0x40 : 0x70) : 0x30) +#endif + +#undef WCHAR_TYPE +#define WCHAR_TYPE (TARGET_LP64 ? "int" : "long int") diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def new file mode 100644 index 0000000000..0634c6f5ba --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-isa.def @@ -0,0 +1,119 @@ +/* Definition for processor table alias flags. + 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 +. */ + +DEF_PTA(3DNOW) +DEF_PTA(3DNOW_A) +DEF_PTA(64BIT) +DEF_PTA(ABM) +DEF_PTA(AES) +DEF_PTA(AVX) +DEF_PTA(BMI) +DEF_PTA(CX16) +DEF_PTA(F16C) +DEF_PTA(FMA) +DEF_PTA(FMA4) +DEF_PTA(FSGSBASE) +DEF_PTA(LWP) +DEF_PTA(LZCNT) +DEF_PTA(MMX) +DEF_PTA(MOVBE) +DEF_PTA(NO_SAHF) +DEF_PTA(PCLMUL) +DEF_PTA(POPCNT) +DEF_PTA(PREFETCH_SSE) +DEF_PTA(RDRND) +DEF_PTA(SSE) +DEF_PTA(SSE2) +DEF_PTA(SSE3) +DEF_PTA(SSE4_1) +DEF_PTA(SSE4_2) +DEF_PTA(SSE4A) +DEF_PTA(SSSE3) +DEF_PTA(TBM) +DEF_PTA(XOP) +DEF_PTA(AVX2) +DEF_PTA(BMI2) +DEF_PTA(RTM) +DEF_PTA(HLE) +DEF_PTA(PRFCHW) +DEF_PTA(RDSEED) +DEF_PTA(ADX) +DEF_PTA(FXSR) +DEF_PTA(XSAVE) +DEF_PTA(XSAVEOPT) +DEF_PTA(AVX512F) +DEF_PTA(AVX512ER) +DEF_PTA(AVX512PF) +DEF_PTA(AVX512CD) +DEF_PTA(NO_TUNE) +DEF_PTA(SHA) +DEF_PTA(PREFETCHWT1) +DEF_PTA(CLFLUSHOPT) +DEF_PTA(XSAVEC) +DEF_PTA(XSAVES) +DEF_PTA(AVX512DQ) +DEF_PTA(AVX512BW) +DEF_PTA(AVX512VL) +DEF_PTA(AVX512IFMA) +DEF_PTA(AVX512VBMI) +DEF_PTA(CLWB) +DEF_PTA(MWAITX) +DEF_PTA(CLZERO) +DEF_PTA(NO_80387) +DEF_PTA(PKU) +DEF_PTA(AVX5124VNNIW) +DEF_PTA(AVX5124FMAPS) +DEF_PTA(AVX512VPOPCNTDQ) +DEF_PTA(SGX) +DEF_PTA(AVX512VNNI) +DEF_PTA(GFNI) +DEF_PTA(VAES) +DEF_PTA(AVX512VBMI2) +DEF_PTA(VPCLMULQDQ) +DEF_PTA(AVX512BITALG) +DEF_PTA(RDPID) +DEF_PTA(PCONFIG) +DEF_PTA(WBNOINVD) +DEF_PTA(AVX512VP2INTERSECT) +DEF_PTA(PTWRITE) +DEF_PTA(AVX512BF16) +DEF_PTA(WAITPKG) +DEF_PTA(MOVDIRI) +DEF_PTA(MOVDIR64B) +DEF_PTA(ENQCMD) +DEF_PTA(CLDEMOTE) +DEF_PTA(SERIALIZE) +DEF_PTA(TSXLDTRK) +DEF_PTA(AMX_TILE) +DEF_PTA(AMX_INT8) +DEF_PTA(AMX_BF16) +DEF_PTA(UINTR) +DEF_PTA(HRESET) +DEF_PTA(KL) +DEF_PTA(WIDEKL) +DEF_PTA(AVXVNNI) +DEF_PTA(AVX512FP16) +DEF_PTA(AVXIFMA) +DEF_PTA(AVXVNNIINT8) +DEF_PTA(AVXNECONVERT) +DEF_PTA(CMPCCXADD) +DEF_PTA(AMX_FP16) +DEF_PTA(PREFETCHI) +DEF_PTA(RAOINT) +DEF_PTA(AMX_COMPLEX) diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h new file mode 100644 index 0000000000..be359f3e3d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-opts.h @@ -0,0 +1,137 @@ +/* Definitions for option handling for IA-32. + 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. + +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 I386_OPTS_H +#define I386_OPTS_H + +/* Algorithm to expand string function with. */ +enum stringop_alg +{ +#undef DEF_ALG +#define DEF_ALG(alg, name) alg, + +#include "stringop.def" +last_alg + +#undef DEF_ALG +}; + +/* Available call abi. */ +enum calling_abi +{ + SYSV_ABI = 0, + MS_ABI = 1 +}; + +enum fpmath_unit +{ + FPMATH_387 = 1, + FPMATH_SSE = 2 +}; + +enum tls_dialect +{ + TLS_DIALECT_GNU, + TLS_DIALECT_GNU2, + TLS_DIALECT_SUN +}; + +enum cmodel { + CM_32, /* The traditional 32-bit ABI. */ + CM_SMALL, /* Assumes all code and data fits in the low 31 bits. */ + CM_KERNEL, /* Assumes all code and data fits in the high 31 bits. */ + CM_MEDIUM, /* Assumes code fits in the low 31 bits; data unlimited. */ + CM_LARGE, /* No assumptions. */ + CM_SMALL_PIC, /* Assumes code+data+got/plt fits in a 31 bit region. */ + CM_MEDIUM_PIC,/* Assumes code+got/plt fits in a 31 bit region. */ + CM_LARGE_PIC /* No assumptions. */ +}; + +enum pmode { + PMODE_SI, /* Pmode == SImode. */ + PMODE_DI /* Pmode == DImode. */ +}; + +enum ix86_align_data { + ix86_align_data_type_compat, + ix86_align_data_type_abi, + ix86_align_data_type_cacheline +}; + +enum asm_dialect { + ASM_ATT, + ASM_INTEL +}; + +enum ix86_veclibabi { + ix86_veclibabi_type_none, + ix86_veclibabi_type_svml, + ix86_veclibabi_type_acml +}; + +enum stack_protector_guard { + SSP_TLS, /* per-thread canary in TLS block */ + SSP_GLOBAL /* global canary */ +}; + +enum prefer_vector_width { + PVW_NONE, + PVW_AVX128, + PVW_AVX256, + PVW_AVX512 +}; + +/* This is used to mitigate variant #2 of the speculative execution + vulnerabilities on x86 processors identified by CVE-2017-5715, aka + Spectre. They convert indirect branches and function returns to + call and return thunks to avoid speculative execution via indirect + call, jmp and ret. */ +enum indirect_branch { + indirect_branch_unset = 0, + indirect_branch_keep, + indirect_branch_thunk, + indirect_branch_thunk_inline, + indirect_branch_thunk_extern +}; + +enum instrument_return { + instrument_return_none = 0, + instrument_return_call, + instrument_return_nop5 +}; + +enum harden_sls { + harden_sls_none = 0, + harden_sls_return = 1 << 0, + harden_sls_indirect_jmp = 1 << 1, + harden_sls_all = harden_sls_return | harden_sls_indirect_jmp +}; + +enum lam_type { + lam_none = 0, + lam_u48 = 1, + lam_u57 +}; + +#endif diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h new file mode 100644 index 0000000000..71ae95ffef --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386-protos.h @@ -0,0 +1,412 @@ +/* Definitions of target machine for GCC for IA-32. + 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 +. */ + +/* In i386-common.cc. */ +extern bool ix86_handle_option (struct gcc_options *opts, + struct gcc_options *opts_set ATTRIBUTE_UNUSED, + const struct cl_decoded_option *decoded, + location_t loc); + +/* Functions in i386.cc */ +extern bool ix86_target_stack_probe (void); +extern bool ix86_can_use_return_insn_p (void); +extern bool ix86_function_ms_hook_prologue (const_tree fn); +extern void ix86_setup_frame_addresses (void); +extern bool ix86_rip_relative_addr_p (struct ix86_address *parts); + +extern HOST_WIDE_INT ix86_initial_elimination_offset (int, int); +extern void ix86_expand_prologue (void); +extern void ix86_maybe_emit_epilogue_vzeroupper (void); +extern void ix86_expand_epilogue (int); +extern void ix86_expand_split_stack_prologue (void); + +extern void ix86_output_addr_vec_elt (FILE *, int); +extern void ix86_output_addr_diff_elt (FILE *, int, int); + +extern const char *ix86_output_ssemov (rtx_insn *, rtx *); + +extern enum calling_abi ix86_cfun_abi (void); +extern enum calling_abi ix86_function_type_abi (const_tree); + +extern bool ix86_use_pseudo_pic_reg (void); + +extern void ix86_reset_previous_fndecl (void); + +extern bool ix86_using_red_zone (void); + +extern unsigned int ix86_regmode_natural_size (machine_mode); +extern bool ix86_check_builtin_isa_match (unsigned int fcode); +#ifdef RTX_CODE +extern int standard_80387_constant_p (rtx); +extern const char *standard_80387_constant_opcode (rtx); +extern rtx standard_80387_constant_rtx (int); +extern int standard_sse_constant_p (rtx, machine_mode); +extern const char *standard_sse_constant_opcode (rtx_insn *, rtx *); +extern bool ix86_standard_x87sse_constant_load_p (const rtx_insn *, rtx); +extern bool ix86_pre_reload_split (void); +extern bool symbolic_reference_mentioned_p (rtx); +extern bool extended_reg_mentioned_p (rtx); +extern bool x86_extended_QIreg_mentioned_p (rtx_insn *); +extern bool x86_extended_reg_mentioned_p (rtx); +extern bool x86_maybe_negate_const_int (rtx *, machine_mode); +extern machine_mode ix86_cc_mode (enum rtx_code, rtx, rtx); + +extern int avx_vpermilp_parallel (rtx par, machine_mode mode); +extern int avx_vperm2f128_parallel (rtx par, machine_mode mode); + +extern bool ix86_expand_strlen (rtx, rtx, rtx, rtx); +extern bool ix86_expand_set_or_cpymem (rtx, rtx, rtx, rtx, rtx, rtx, + rtx, rtx, rtx, rtx, bool); +extern bool ix86_expand_cmpstrn_or_cmpmem (rtx, rtx, rtx, rtx, rtx, bool); + +extern bool constant_address_p (rtx); +extern bool legitimate_pic_operand_p (rtx); +extern bool legitimate_pic_address_disp_p (rtx); +extern bool ix86_force_load_from_GOT_p (rtx, bool = false); +extern void print_reg (rtx, int, FILE*); +extern void ix86_print_operand (FILE *, rtx, int); + +extern void split_double_mode (machine_mode, rtx[], int, rtx[], rtx[]); +extern void split_double_concat (machine_mode, rtx, rtx lo, rtx); + +extern const char *output_set_got (rtx, rtx); +extern const char *output_387_binary_op (rtx_insn *, rtx*); +extern const char *output_387_reg_move (rtx_insn *, rtx*); +extern const char *output_fix_trunc (rtx_insn *, rtx*, bool); +extern const char *output_fp_compare (rtx_insn *, rtx*, bool, bool); +extern const char *output_adjust_stack_and_probe (rtx); +extern const char *output_probe_stack_range (rtx, rtx); + +extern void ix86_output_patchable_area (unsigned int, bool); + +extern void ix86_expand_clear (rtx); +extern void ix86_expand_move (machine_mode, rtx[]); +extern void ix86_expand_vector_move (machine_mode, rtx[]); +extern void ix86_expand_vector_move_misalign (machine_mode, rtx[]); +extern rtx ix86_fixup_binary_operands (enum rtx_code, + machine_mode, rtx[]); +extern void ix86_fixup_binary_operands_no_copy (enum rtx_code, + machine_mode, rtx[]); +extern void ix86_expand_binary_operator (enum rtx_code, + machine_mode, rtx[]); +extern void ix86_expand_vector_logical_operator (enum rtx_code, + machine_mode, rtx[]); +extern bool ix86_binary_operator_ok (enum rtx_code, machine_mode, rtx[3]); +extern bool ix86_avoid_lea_for_add (rtx_insn *, rtx[]); +extern bool ix86_use_lea_for_mov (rtx_insn *, rtx[]); +extern bool ix86_avoid_lea_for_addr (rtx_insn *, rtx[]); +extern void ix86_split_lea_for_addr (rtx_insn *, rtx[], machine_mode); +extern bool ix86_lea_for_add_ok (rtx_insn *, rtx[]); +extern int ix86_last_zero_store_uid; +extern bool ix86_vec_interleave_v2df_operator_ok (rtx operands[3], bool high); +extern bool ix86_dep_by_shift_count (const_rtx set_insn, const_rtx use_insn); +extern bool ix86_agi_dependent (rtx_insn *set_insn, rtx_insn *use_insn); +extern void ix86_expand_unary_operator (enum rtx_code, machine_mode, + rtx[]); +extern rtx ix86_build_const_vector (machine_mode, bool, rtx); +extern rtx ix86_build_signbit_mask (machine_mode, bool, bool); +extern HOST_WIDE_INT ix86_convert_const_vector_to_integer (rtx, + machine_mode); +extern void ix86_split_convert_uns_si_sse (rtx[]); +extern void ix86_expand_convert_uns_didf_sse (rtx, rtx); +extern void ix86_expand_convert_uns_sixf_sse (rtx, rtx); +extern void ix86_expand_convert_uns_sidf_sse (rtx, rtx); +extern void ix86_expand_convert_uns_sisf_sse (rtx, rtx); +extern void ix86_expand_convert_sign_didf_sse (rtx, rtx); +extern void ix86_expand_vector_convert_uns_vsivsf (rtx, rtx); +extern rtx ix86_expand_adjust_ufix_to_sfix_si (rtx, rtx *); +extern enum ix86_fpcmp_strategy ix86_fp_comparison_strategy (enum rtx_code); +extern void ix86_expand_fp_absneg_operator (enum rtx_code, machine_mode, + rtx[]); +extern void ix86_split_fp_absneg_operator (enum rtx_code, machine_mode, + rtx[]); +extern void ix86_expand_copysign (rtx []); +extern void ix86_expand_xorsign (rtx []); +extern bool ix86_unary_operator_ok (enum rtx_code, machine_mode, rtx[2]); +extern bool ix86_match_ccmode (rtx, machine_mode); +extern void ix86_expand_branch (enum rtx_code, rtx, rtx, rtx); +extern void ix86_expand_setcc (rtx, enum rtx_code, rtx, rtx); +extern bool ix86_expand_int_movcc (rtx[]); +extern bool ix86_expand_fp_movcc (rtx[]); +extern bool ix86_expand_fp_vcond (rtx[]); +extern bool ix86_expand_int_vcond (rtx[]); +extern void ix86_expand_vec_perm (rtx[]); +extern bool ix86_expand_mask_vec_cmp (rtx, enum rtx_code, rtx, rtx); +extern bool ix86_expand_int_vec_cmp (rtx[]); +extern bool ix86_expand_fp_vec_cmp (rtx[]); +extern void ix86_expand_sse_movcc (rtx, rtx, rtx, rtx); +extern void ix86_expand_sse_unpack (rtx, rtx, bool, bool); +extern void ix86_expand_fp_spaceship (rtx, rtx, rtx); +extern bool ix86_expand_int_addcc (rtx[]); +extern rtx_insn *ix86_expand_call (rtx, rtx, rtx, rtx, rtx, bool); +extern bool ix86_call_use_plt_p (rtx); +extern void ix86_split_call_vzeroupper (rtx, rtx); +extern void x86_initialize_trampoline (rtx, rtx, rtx); +extern rtx ix86_zero_extend_to_Pmode (rtx); +extern void ix86_split_long_move (rtx[]); +extern void ix86_split_ashl (rtx *, rtx, machine_mode); +extern void ix86_split_ashr (rtx *, rtx, machine_mode); +extern void ix86_split_lshr (rtx *, rtx, machine_mode); +extern void ix86_expand_v1ti_shift (enum rtx_code, rtx[]); +extern void ix86_expand_v1ti_rotate (enum rtx_code, rtx[]); +extern void ix86_expand_v1ti_ashiftrt (rtx[]); +extern rtx ix86_replace_reg_with_reg (rtx, rtx, rtx); +extern rtx ix86_find_base_term (rtx); +extern bool ix86_check_movabs (rtx, int); +extern bool ix86_check_no_addr_space (rtx); +extern void ix86_split_idivmod (machine_mode, rtx[], bool); +extern bool ix86_hardreg_mov_ok (rtx, rtx); + +extern rtx assign_386_stack_local (machine_mode, enum ix86_stack_slot); +extern int ix86_attr_length_immediate_default (rtx_insn *, bool); +extern int ix86_attr_length_address_default (rtx_insn *); +extern int ix86_attr_length_vex_default (rtx_insn *, bool, bool); + +extern rtx ix86_libcall_value (machine_mode); +extern bool ix86_function_arg_regno_p (int); +extern void ix86_asm_output_function_label (FILE *, const char *, tree); +extern void ix86_call_abi_override (const_tree); +extern int ix86_reg_parm_stack_space (const_tree); + +extern bool ix86_libc_has_function (enum function_class fn_class); + +extern void x86_order_regs_for_local_alloc (void); +extern void x86_function_profiler (FILE *, int); +extern void x86_emit_floatuns (rtx [2]); +extern void ix86_emit_fp_unordered_jump (rtx); + +extern void ix86_emit_i387_sinh (rtx, rtx); +extern void ix86_emit_i387_cosh (rtx, rtx); +extern void ix86_emit_i387_tanh (rtx, rtx); +extern void ix86_emit_i387_asinh (rtx, rtx); +extern void ix86_emit_i387_acosh (rtx, rtx); +extern void ix86_emit_i387_atanh (rtx, rtx); +extern void ix86_emit_i387_log1p (rtx, rtx); +extern void ix86_emit_i387_round (rtx, rtx); +extern void ix86_emit_swdivsf (rtx, rtx, rtx, machine_mode); +extern void ix86_emit_swsqrtsf (rtx, rtx, machine_mode, bool); + +extern enum rtx_code ix86_reverse_condition (enum rtx_code, machine_mode); + +extern void ix86_expand_lround (rtx, rtx); +extern void ix86_expand_lfloorceil (rtx, rtx, bool); +extern void ix86_expand_rint (rtx, rtx); +extern void ix86_expand_floorceil (rtx, rtx, bool); +extern void ix86_expand_floorceildf_32 (rtx, rtx, bool); +extern void ix86_expand_trunc (rtx, rtx); +extern void ix86_expand_truncdf_32 (rtx, rtx); +extern void ix86_expand_round (rtx, rtx); +extern void ix86_expand_rounddf_32 (rtx, rtx); +extern void ix86_expand_round_sse4 (rtx, rtx); + +extern void ix86_expand_vecop_qihi (enum rtx_code, rtx, rtx, rtx); +extern rtx ix86_split_stack_guard (void); + +extern void ix86_move_vector_high_sse_to_mmx (rtx); +extern void ix86_split_mmx_pack (rtx[], enum rtx_code); +extern void ix86_split_mmx_punpck (rtx[], bool); +extern void ix86_expand_avx_vzeroupper (void); +extern void ix86_expand_atomic_fetch_op_loop (rtx, rtx, rtx, enum rtx_code, + bool, bool); +extern void ix86_expand_cmpxchg_loop (rtx *, rtx, rtx, rtx, rtx, rtx, + bool, rtx_code_label *); +extern rtx ix86_expand_fast_convert_bf_to_sf (rtx); +extern rtx ix86_memtag_untagged_pointer (rtx, rtx); +extern bool ix86_memtag_can_tag_addresses (void); + +#ifdef TREE_CODE +extern void init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx, tree, int); +#endif /* TREE_CODE */ + +#endif /* RTX_CODE */ + +#ifdef TREE_CODE +extern int ix86_data_alignment (tree, unsigned int, bool); +extern unsigned int ix86_local_alignment (tree, machine_mode, + unsigned int, bool = false); +extern unsigned int ix86_minimum_alignment (tree, machine_mode, + unsigned int); +extern tree ix86_handle_shared_attribute (tree *, tree, tree, int, bool *); +extern tree ix86_handle_selectany_attribute (tree *, tree, tree, int, bool *); +extern int x86_field_alignment (tree, int); +extern tree ix86_valid_target_attribute_tree (tree, tree, + struct gcc_options *, + struct gcc_options *, bool); +extern unsigned int ix86_get_callcvt (const_tree); + +#endif + +extern rtx ix86_tls_module_base (void); +extern bool ix86_gpr_tls_address_pattern_p (rtx); +extern bool ix86_tls_address_pattern_p (rtx); +extern rtx ix86_rewrite_tls_address (rtx); + +extern void ix86_expand_vector_init (bool, rtx, rtx); +extern void ix86_expand_vector_set (bool, rtx, rtx, int); +extern void ix86_expand_vector_set_var (rtx, rtx, rtx); +extern void ix86_expand_vector_extract (bool, rtx, rtx, int); +extern void ix86_expand_reduc (rtx (*)(rtx, rtx, rtx), rtx, rtx); + +extern void ix86_expand_vec_extract_even_odd (rtx, rtx, rtx, unsigned); +extern bool ix86_expand_pextr (rtx *); +extern bool ix86_expand_pinsr (rtx *); +extern void ix86_expand_mul_widen_evenodd (rtx, rtx, rtx, bool, bool); +extern void ix86_expand_mul_widen_hilo (rtx, rtx, rtx, bool, bool); +extern void ix86_expand_sse2_mulv4si3 (rtx, rtx, rtx); +extern void ix86_expand_sse2_mulvxdi3 (rtx, rtx, rtx); +extern void ix86_expand_sse2_abs (rtx, rtx); +extern bool ix86_expand_vector_init_duplicate (bool, machine_mode, rtx, + rtx); +extern bool ix86_extract_perm_from_pool_constant (int*, rtx); + +/* In i386-c.cc */ +extern void ix86_target_macros (void); +extern void ix86_register_pragmas (void); + +/* In winnt.cc */ +extern void i386_pe_unique_section (tree, int); +extern void i386_pe_declare_function_type (FILE *, const char *, int); +extern void i386_pe_record_external_function (tree, const char *); +extern void i386_pe_maybe_record_exported_symbol (tree, const char *, int); +extern void i386_pe_encode_section_info (tree, rtx, int); +extern bool i386_pe_binds_local_p (const_tree); +extern const char *i386_pe_strip_name_encoding_full (const char *); +extern bool i386_pe_valid_dllimport_attribute_p (const_tree); +extern unsigned int i386_pe_section_type_flags (tree, const char *, int); +extern void i386_pe_asm_named_section (const char *, unsigned int, tree); +extern void i386_pe_asm_output_aligned_decl_common (FILE *, tree, + const char *, + HOST_WIDE_INT, + HOST_WIDE_INT); +extern void i386_pe_file_end (void); +extern void i386_pe_asm_lto_start (void); +extern void i386_pe_asm_lto_end (void); +extern void i386_pe_start_function (FILE *, const char *, tree); +extern void i386_pe_end_function (FILE *, const char *, tree); +extern void i386_pe_end_cold_function (FILE *, const char *, tree); +extern void i386_pe_assemble_visibility (tree, int); +extern tree i386_pe_mangle_decl_assembler_name (tree, tree); +extern tree i386_pe_mangle_assembler_name (const char *); +extern void i386_pe_record_stub (const char *); + +extern void i386_pe_seh_init (FILE *); +extern void i386_pe_seh_end_prologue (FILE *); +extern void i386_pe_seh_cold_init (FILE *, const char *); +extern void i386_pe_seh_unwind_emit (FILE *, rtx_insn *); +extern void i386_pe_seh_emit_except_personality (rtx); +extern void i386_pe_seh_init_sections (void); + +/* In winnt-cxx.cc and winnt-stubs.cc */ +extern void i386_pe_adjust_class_at_definition (tree); +extern bool i386_pe_type_dllimport_p (tree); +extern bool i386_pe_type_dllexport_p (tree); + +extern int i386_pe_reloc_rw_mask (void); + +extern char internal_label_prefix[16]; +extern int internal_label_prefix_len; + +extern bool ix86_epilogue_uses (int); + +struct ix86_address +{ + rtx base, index, disp; + HOST_WIDE_INT scale; + addr_space_t seg; +}; + +extern bool ix86_decompose_address (rtx, struct ix86_address *); +extern int memory_address_length (rtx, bool); +extern void x86_output_aligned_bss (FILE *, tree, const char *, + unsigned HOST_WIDE_INT, unsigned); +extern void x86_elf_aligned_decl_common (FILE *, tree, const char *, + unsigned HOST_WIDE_INT, unsigned); + +#ifdef RTX_CODE +extern void ix86_fp_comparison_codes (enum rtx_code code, enum rtx_code *, + enum rtx_code *, enum rtx_code *); +extern enum rtx_code ix86_fp_compare_code_to_integer (enum rtx_code); +#endif +extern int asm_preferred_eh_data_format (int, int); + +#ifdef HAVE_ATTR_cpu +extern enum attr_cpu ix86_schedule; +#endif + +extern const char * ix86_output_call_insn (rtx_insn *insn, rtx call_op); +extern const char * ix86_output_indirect_jmp (rtx call_op); +extern const char * ix86_output_function_return (bool long_p); +extern const char * ix86_output_indirect_function_return (rtx ret_op); +extern void ix86_split_simple_return_pop_internal (rtx); +extern bool ix86_operands_ok_for_move_multiple (rtx *operands, bool load, + machine_mode mode); +extern int ix86_min_insn_size (rtx_insn *); + +extern int ix86_issue_rate (void); +extern int ix86_adjust_cost (rtx_insn *insn, int dep_type, rtx_insn *dep_insn, + int cost, unsigned int); +extern int ia32_multipass_dfa_lookahead (void); +extern bool ix86_macro_fusion_p (void); +extern bool ix86_macro_fusion_pair_p (rtx_insn *condgen, rtx_insn *condjmp); + +extern bool ix86_bd_has_dispatch (rtx_insn *insn, int action); +extern void ix86_bd_do_dispatch (rtx_insn *insn, int mode); + +extern void ix86_core2i7_init_hooks (void); + +extern int ix86_atom_sched_reorder (FILE *, int, rtx_insn **, int *, int); + +extern poly_int64 ix86_push_rounding (poly_int64); + +#ifdef RTX_CODE +/* Target data for multipass lookahead scheduling. + Currently used for Core 2/i7 tuning. */ +struct ix86_first_cycle_multipass_data_ +{ + /* The length (in bytes) of ifetch block in this solution. */ + int ifetch_block_len; + /* Number of instructions in ifetch block in this solution. */ + int ifetch_block_n_insns; + /* Bitmap to remember changes to ready_try for backtracking. */ + sbitmap ready_try_change; + /* Size of the bitmap. */ + int ready_try_change_size; +}; +# define TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T \ + struct ix86_first_cycle_multipass_data_ +#endif /* RTX_CODE */ + +const addr_space_t ADDR_SPACE_SEG_FS = 1; +const addr_space_t ADDR_SPACE_SEG_GS = 2; + +namespace gcc { class context; } +class rtl_opt_pass; + +extern rtl_opt_pass *make_pass_insert_vzeroupper (gcc::context *); +extern rtl_opt_pass *make_pass_stv (gcc::context *); +extern rtl_opt_pass *make_pass_insert_endbr_and_patchable_area + (gcc::context *); +extern rtl_opt_pass *make_pass_remove_partial_avx_dependency + (gcc::context *); + +extern bool ix86_has_no_direct_extern_access; + +/* In i386-expand.cc. */ +bool ix86_check_builtin_isa_match (unsigned int, HOST_WIDE_INT*, + HOST_WIDE_INT*); diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h new file mode 100644 index 0000000000..539083f2fb --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/i386.h @@ -0,0 +1,2899 @@ +/* Definitions of target machine for GCC for IA-32. + 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. + +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 +. */ + +/* The purpose of this file is to define the characteristics of the i386, + independent of assembler syntax or operating system. + + Three other files build on this one to describe a specific assembler syntax: + bsd386.h, att386.h, and sun386.h. + + The actual tm.h file for a particular system should include + this file, and then the file for the appropriate assembler syntax. + + Many macros that specify assembler syntax are omitted entirely from + this file because they really belong in the files for particular + assemblers. These include RP, IP, LPREFIX, PUT_OP_SIZE, USE_STAR, + ADDR_BEG, ADDR_END, PRINT_IREG, PRINT_SCALE, PRINT_B_I_S, and many + that start with ASM_ or end in ASM_OP. */ + +/* Redefines for option macros. */ + +#define TARGET_CMPXCHG16B TARGET_CX16 +#define TARGET_CMPXCHG16B_P(x) TARGET_CX16_P(x) + +#define TARGET_LP64 TARGET_ABI_64 +#define TARGET_LP64_P(x) TARGET_ABI_64_P(x) +#define TARGET_X32 TARGET_ABI_X32 +#define TARGET_X32_P(x) TARGET_ABI_X32_P(x) +#define TARGET_16BIT TARGET_CODE16 +#define TARGET_16BIT_P(x) TARGET_CODE16_P(x) + +#define TARGET_MMX_WITH_SSE (TARGET_64BIT && TARGET_SSE2) + +#include "config/vxworks-dummy.h" + +#include "config/i386/i386-opts.h" + +#define MAX_STRINGOP_ALGS 4 + +/* Specify what algorithm to use for stringops on known size. + When size is unknown, the UNKNOWN_SIZE alg is used. When size is + known at compile time or estimated via feedback, the SIZE array + is walked in order until MAX is greater then the estimate (or -1 + means infinity). Corresponding ALG is used then. + When NOALIGN is true the code guaranting the alignment of the memory + block is skipped. + + For example initializer: + {{256, loop}, {-1, rep_prefix_4_byte}} + will use loop for blocks smaller or equal to 256 bytes, rep prefix will + be used otherwise. */ +struct stringop_algs +{ + const enum stringop_alg unknown_size; + const struct stringop_strategy { + /* Several older compilers delete the default constructor because of the + const entries (see PR100246). Manually specifying a CTOR works around + this issue. Since this header is used by code compiled with the C + compiler we must guard the addition. */ +#ifdef __cplusplus + constexpr + stringop_strategy (int _max = -1, enum stringop_alg _alg = libcall, + int _noalign = false) + : max (_max), alg (_alg), noalign (_noalign) {} +#endif + const int max; + const enum stringop_alg alg; + int noalign; + } size [MAX_STRINGOP_ALGS]; +}; + +/* Analog of COSTS_N_INSNS when optimizing for size. */ +#ifndef COSTS_N_BYTES +#define COSTS_N_BYTES(N) ((N) * 2) +#endif + +/* Define the specific costs for a given cpu. NB: hard_register is used + by TARGET_REGISTER_MOVE_COST and TARGET_MEMORY_MOVE_COST to compute + hard register move costs by register allocator. Relative costs of + pseudo register load and store versus pseudo register moves in RTL + expressions for TARGET_RTX_COSTS can be different from relative + costs of hard registers to get the most efficient operations with + pseudo registers. */ + +struct processor_costs { + /* Costs used by register allocator. integer->integer register move + cost is 2. */ + struct + { + const int movzbl_load; /* cost of loading using movzbl */ + const int int_load[3]; /* cost of loading integer registers + in QImode, HImode and SImode relative + to reg-reg move (2). */ + const int int_store[3]; /* cost of storing integer register + in QImode, HImode and SImode */ + const int fp_move; /* cost of reg,reg fld/fst */ + const int fp_load[3]; /* cost of loading FP register + in SFmode, DFmode and XFmode */ + const int fp_store[3]; /* cost of storing FP register + in SFmode, DFmode and XFmode */ + const int mmx_move; /* cost of moving MMX register. */ + const int mmx_load[2]; /* cost of loading MMX register + in SImode and DImode */ + const int mmx_store[2]; /* cost of storing MMX register + in SImode and DImode */ + const int xmm_move; /* cost of moving XMM register. */ + const int ymm_move; /* cost of moving XMM register. */ + const int zmm_move; /* cost of moving XMM register. */ + const int sse_load[5]; /* cost of loading SSE register + in 32bit, 64bit, 128bit, 256bit and 512bit */ + const int sse_store[5]; /* cost of storing SSE register + in SImode, DImode and TImode. */ + const int sse_to_integer; /* cost of moving SSE register to integer. */ + const int integer_to_sse; /* cost of moving integer register to SSE. */ + const int mask_to_integer; /* cost of moving mask register to integer. */ + const int integer_to_mask; /* cost of moving integer register to mask. */ + const int mask_load[3]; /* cost of loading mask registers + in QImode, HImode and SImode. */ + const int mask_store[3]; /* cost of storing mask register + in QImode, HImode and SImode. */ + const int mask_move; /* cost of moving mask register. */ + } hard_register; + + const int add; /* cost of an add instruction */ + const int lea; /* cost of a lea instruction */ + const int shift_var; /* variable shift costs */ + const int shift_const; /* constant shift costs */ + const int mult_init[5]; /* cost of starting a multiply + in QImode, HImode, SImode, DImode, TImode*/ + const int mult_bit; /* cost of multiply per each bit set */ + const int divide[5]; /* cost of a divide/mod + in QImode, HImode, SImode, DImode, TImode*/ + int movsx; /* The cost of movsx operation. */ + int movzx; /* The cost of movzx operation. */ + const int large_insn; /* insns larger than this cost more */ + const int move_ratio; /* The threshold of number of scalar + memory-to-memory move insns. */ + const int clear_ratio; /* The threshold of number of scalar + memory clearing insns. */ + const int int_load[3]; /* cost of loading integer registers + in QImode, HImode and SImode relative + to reg-reg move (2). */ + const int int_store[3]; /* cost of storing integer register + in QImode, HImode and SImode */ + const int sse_load[5]; /* cost of loading SSE register + in 32bit, 64bit, 128bit, 256bit and 512bit */ + const int sse_store[5]; /* cost of storing SSE register + in 32bit, 64bit, 128bit, 256bit and 512bit */ + const int sse_unaligned_load[5];/* cost of unaligned load. */ + const int sse_unaligned_store[5];/* cost of unaligned store. */ + const int xmm_move, ymm_move, /* cost of moving XMM and YMM register. */ + zmm_move; + const int sse_to_integer; /* cost of moving SSE register to integer. */ + const int gather_static, gather_per_elt; /* Cost of gather load is computed + as static + per_item * nelts. */ + const int scatter_static, scatter_per_elt; /* Cost of gather store is + computed as static + per_item * nelts. */ + const int l1_cache_size; /* size of l1 cache, in kilobytes. */ + const int l2_cache_size; /* size of l2 cache, in kilobytes. */ + const int prefetch_block; /* bytes moved to cache for prefetch. */ + const int simultaneous_prefetches; /* number of parallel prefetch + operations. */ + const int branch_cost; /* Default value for BRANCH_COST. */ + const int fadd; /* cost of FADD and FSUB instructions. */ + const int fmul; /* cost of FMUL instruction. */ + const int fdiv; /* cost of FDIV instruction. */ + const int fabs; /* cost of FABS instruction. */ + const int fchs; /* cost of FCHS instruction. */ + const int fsqrt; /* cost of FSQRT instruction. */ + /* Specify what algorithm + to use for stringops on unknown size. */ + const int sse_op; /* cost of cheap SSE instruction. */ + const int addss; /* cost of ADDSS/SD SUBSS/SD instructions. */ + const int mulss; /* cost of MULSS instructions. */ + const int mulsd; /* cost of MULSD instructions. */ + const int fmass; /* cost of FMASS instructions. */ + const int fmasd; /* cost of FMASD instructions. */ + const int divss; /* cost of DIVSS instructions. */ + const int divsd; /* cost of DIVSD instructions. */ + const int sqrtss; /* cost of SQRTSS instructions. */ + const int sqrtsd; /* cost of SQRTSD instructions. */ + const int reassoc_int, reassoc_fp, reassoc_vec_int, reassoc_vec_fp; + /* Specify reassociation width for integer, + fp, vector integer and vector fp + operations. Generally should correspond + to number of instructions executed in + parallel. See also + ix86_reassociation_width. */ + struct stringop_algs *memcpy, *memset; + const int cond_taken_branch_cost; /* Cost of taken branch for vectorizer + cost model. */ + const int cond_not_taken_branch_cost;/* Cost of not taken branch for + vectorizer cost model. */ + + /* The "0:0:8" label alignment specified for some processors generates + secondary 8-byte alignment only for those label/jump/loop targets + which have primary alignment. */ + const char *const align_loop; /* Loop alignment. */ + const char *const align_jump; /* Jump alignment. */ + const char *const align_label; /* Label alignment. */ + const char *const align_func; /* Function alignment. */ + + const unsigned small_unroll_ninsns; /* Insn count limit for small loop + to be unrolled. */ + const unsigned small_unroll_factor; /* Unroll factor for small loop to + be unrolled. */ +}; + +extern const struct processor_costs *ix86_cost; +extern const struct processor_costs ix86_size_cost; + +#define ix86_cur_cost() \ + (optimize_insn_for_size_p () ? &ix86_size_cost: ix86_cost) + +/* Macros used in the machine description to test the flags. */ + +/* configure can arrange to change it. */ + +#ifndef TARGET_CPU_DEFAULT +#define TARGET_CPU_DEFAULT PROCESSOR_GENERIC +#endif + +#ifndef TARGET_FPMATH_DEFAULT +#define TARGET_FPMATH_DEFAULT \ + (TARGET_64BIT && TARGET_SSE ? FPMATH_SSE : FPMATH_387) +#endif + +#ifndef TARGET_FPMATH_DEFAULT_P +#define TARGET_FPMATH_DEFAULT_P(x) \ + (TARGET_64BIT_P(x) && TARGET_SSE_P(x) ? FPMATH_SSE : FPMATH_387) +#endif + +/* If the i387 is disabled or -miamcu is used , then do not return + values in it. */ +#define TARGET_FLOAT_RETURNS_IN_80387 \ + (TARGET_FLOAT_RETURNS && TARGET_80387 && !TARGET_IAMCU) +#define TARGET_FLOAT_RETURNS_IN_80387_P(x) \ + (TARGET_FLOAT_RETURNS_P(x) && TARGET_80387_P(x) && !TARGET_IAMCU_P(x)) + +/* 64bit Sledgehammer mode. For libgcc2 we make sure this is a + compile-time constant. */ +#ifdef IN_LIBGCC2 +#undef TARGET_64BIT +#ifdef __x86_64__ +#define TARGET_64BIT 1 +#else +#define TARGET_64BIT 0 +#endif +#else +#ifndef TARGET_BI_ARCH +#undef TARGET_64BIT +#undef TARGET_64BIT_P +#if TARGET_64BIT_DEFAULT +#define TARGET_64BIT 1 +#define TARGET_64BIT_P(x) 1 +#else +#define TARGET_64BIT 0 +#define TARGET_64BIT_P(x) 0 +#endif +#endif +#endif + +#define HAS_LONG_COND_BRANCH 1 +#define HAS_LONG_UNCOND_BRANCH 1 + +#define TARGET_CPU_P(CPU) (ix86_tune == PROCESSOR_ ## CPU) + +/* Feature tests against the various tunings. */ +enum ix86_tune_indices { +#undef DEF_TUNE +#define DEF_TUNE(tune, name, selector) tune, +#include "x86-tune.def" +#undef DEF_TUNE +X86_TUNE_LAST +}; + +extern unsigned char ix86_tune_features[X86_TUNE_LAST]; + +#define TARGET_USE_LEAVE ix86_tune_features[X86_TUNE_USE_LEAVE] +#define TARGET_PUSH_MEMORY ix86_tune_features[X86_TUNE_PUSH_MEMORY] +#define TARGET_ZERO_EXTEND_WITH_AND \ + ix86_tune_features[X86_TUNE_ZERO_EXTEND_WITH_AND] +#define TARGET_UNROLL_STRLEN ix86_tune_features[X86_TUNE_UNROLL_STRLEN] +#define TARGET_BRANCH_PREDICTION_HINTS \ + ix86_tune_features[X86_TUNE_BRANCH_PREDICTION_HINTS] +#define TARGET_DOUBLE_WITH_ADD ix86_tune_features[X86_TUNE_DOUBLE_WITH_ADD] +#define TARGET_USE_SAHF ix86_tune_features[X86_TUNE_USE_SAHF] +#define TARGET_MOVX ix86_tune_features[X86_TUNE_MOVX] +#define TARGET_PARTIAL_REG_STALL ix86_tune_features[X86_TUNE_PARTIAL_REG_STALL] +#define TARGET_PARTIAL_FLAG_REG_STALL \ + ix86_tune_features[X86_TUNE_PARTIAL_FLAG_REG_STALL] +#define TARGET_LCP_STALL \ + ix86_tune_features[X86_TUNE_LCP_STALL] +#define TARGET_USE_HIMODE_FIOP ix86_tune_features[X86_TUNE_USE_HIMODE_FIOP] +#define TARGET_USE_SIMODE_FIOP ix86_tune_features[X86_TUNE_USE_SIMODE_FIOP] +#define TARGET_USE_MOV0 ix86_tune_features[X86_TUNE_USE_MOV0] +#define TARGET_USE_CLTD ix86_tune_features[X86_TUNE_USE_CLTD] +#define TARGET_USE_XCHGB ix86_tune_features[X86_TUNE_USE_XCHGB] +#define TARGET_SPLIT_LONG_MOVES ix86_tune_features[X86_TUNE_SPLIT_LONG_MOVES] +#define TARGET_READ_MODIFY_WRITE ix86_tune_features[X86_TUNE_READ_MODIFY_WRITE] +#define TARGET_READ_MODIFY ix86_tune_features[X86_TUNE_READ_MODIFY] +#define TARGET_PROMOTE_QImode ix86_tune_features[X86_TUNE_PROMOTE_QIMODE] +#define TARGET_FAST_PREFIX ix86_tune_features[X86_TUNE_FAST_PREFIX] +#define TARGET_SINGLE_STRINGOP ix86_tune_features[X86_TUNE_SINGLE_STRINGOP] +#define TARGET_PREFER_KNOWN_REP_MOVSB_STOSB \ + ix86_tune_features[X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB] +#define TARGET_MISALIGNED_MOVE_STRING_PRO_EPILOGUES \ + ix86_tune_features[X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES] +#define TARGET_QIMODE_MATH ix86_tune_features[X86_TUNE_QIMODE_MATH] +#define TARGET_HIMODE_MATH ix86_tune_features[X86_TUNE_HIMODE_MATH] +#define TARGET_PROMOTE_QI_REGS ix86_tune_features[X86_TUNE_PROMOTE_QI_REGS] +#define TARGET_PROMOTE_HI_REGS ix86_tune_features[X86_TUNE_PROMOTE_HI_REGS] +#define TARGET_SINGLE_POP ix86_tune_features[X86_TUNE_SINGLE_POP] +#define TARGET_DOUBLE_POP ix86_tune_features[X86_TUNE_DOUBLE_POP] +#define TARGET_SINGLE_PUSH ix86_tune_features[X86_TUNE_SINGLE_PUSH] +#define TARGET_DOUBLE_PUSH ix86_tune_features[X86_TUNE_DOUBLE_PUSH] +#define TARGET_INTEGER_DFMODE_MOVES \ + ix86_tune_features[X86_TUNE_INTEGER_DFMODE_MOVES] +#define TARGET_PARTIAL_REG_DEPENDENCY \ + ix86_tune_features[X86_TUNE_PARTIAL_REG_DEPENDENCY] +#define TARGET_SSE_PARTIAL_REG_DEPENDENCY \ + ix86_tune_features[X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY] +#define TARGET_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY \ + ix86_tune_features[X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY] +#define TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY \ + ix86_tune_features[X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY] +#define TARGET_SSE_UNALIGNED_LOAD_OPTIMAL \ + ix86_tune_features[X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL] +#define TARGET_SSE_UNALIGNED_STORE_OPTIMAL \ + ix86_tune_features[X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL] +#define TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL \ + ix86_tune_features[X86_TUNE_SSE_PACKED_SINGLE_INSN_OPTIMAL] +#define TARGET_SSE_SPLIT_REGS ix86_tune_features[X86_TUNE_SSE_SPLIT_REGS] +#define TARGET_SSE_TYPELESS_STORES \ + ix86_tune_features[X86_TUNE_SSE_TYPELESS_STORES] +#define TARGET_SSE_LOAD0_BY_PXOR ix86_tune_features[X86_TUNE_SSE_LOAD0_BY_PXOR] +#define TARGET_MEMORY_MISMATCH_STALL \ + ix86_tune_features[X86_TUNE_MEMORY_MISMATCH_STALL] +#define TARGET_PROLOGUE_USING_MOVE \ + ix86_tune_features[X86_TUNE_PROLOGUE_USING_MOVE] +#define TARGET_EPILOGUE_USING_MOVE \ + ix86_tune_features[X86_TUNE_EPILOGUE_USING_MOVE] +#define TARGET_SHIFT1 ix86_tune_features[X86_TUNE_SHIFT1] +#define TARGET_USE_FFREEP ix86_tune_features[X86_TUNE_USE_FFREEP] +#define TARGET_INTER_UNIT_MOVES_TO_VEC \ + ix86_tune_features[X86_TUNE_INTER_UNIT_MOVES_TO_VEC] +#define TARGET_INTER_UNIT_MOVES_FROM_VEC \ + ix86_tune_features[X86_TUNE_INTER_UNIT_MOVES_FROM_VEC] +#define TARGET_INTER_UNIT_CONVERSIONS \ + ix86_tune_features[X86_TUNE_INTER_UNIT_CONVERSIONS] +#define TARGET_FOUR_JUMP_LIMIT ix86_tune_features[X86_TUNE_FOUR_JUMP_LIMIT] +#define TARGET_SCHEDULE ix86_tune_features[X86_TUNE_SCHEDULE] +#define TARGET_USE_BT ix86_tune_features[X86_TUNE_USE_BT] +#define TARGET_USE_INCDEC ix86_tune_features[X86_TUNE_USE_INCDEC] +#define TARGET_PAD_RETURNS ix86_tune_features[X86_TUNE_PAD_RETURNS] +#define TARGET_PAD_SHORT_FUNCTION \ + ix86_tune_features[X86_TUNE_PAD_SHORT_FUNCTION] +#define TARGET_EXT_80387_CONSTANTS \ + ix86_tune_features[X86_TUNE_EXT_80387_CONSTANTS] +#define TARGET_AVOID_VECTOR_DECODE \ + ix86_tune_features[X86_TUNE_AVOID_VECTOR_DECODE] +#define TARGET_TUNE_PROMOTE_HIMODE_IMUL \ + ix86_tune_features[X86_TUNE_PROMOTE_HIMODE_IMUL] +#define TARGET_SLOW_IMUL_IMM32_MEM \ + ix86_tune_features[X86_TUNE_SLOW_IMUL_IMM32_MEM] +#define TARGET_SLOW_IMUL_IMM8 ix86_tune_features[X86_TUNE_SLOW_IMUL_IMM8] +#define TARGET_MOVE_M1_VIA_OR ix86_tune_features[X86_TUNE_MOVE_M1_VIA_OR] +#define TARGET_NOT_UNPAIRABLE ix86_tune_features[X86_TUNE_NOT_UNPAIRABLE] +#define TARGET_NOT_VECTORMODE ix86_tune_features[X86_TUNE_NOT_VECTORMODE] +#define TARGET_USE_VECTOR_FP_CONVERTS \ + ix86_tune_features[X86_TUNE_USE_VECTOR_FP_CONVERTS] +#define TARGET_USE_VECTOR_CONVERTS \ + ix86_tune_features[X86_TUNE_USE_VECTOR_CONVERTS] +#define TARGET_SLOW_PSHUFB \ + ix86_tune_features[X86_TUNE_SLOW_PSHUFB] +#define TARGET_AVOID_4BYTE_PREFIXES \ + ix86_tune_features[X86_TUNE_AVOID_4BYTE_PREFIXES] +#define TARGET_USE_GATHER_2PARTS \ + ix86_tune_features[X86_TUNE_USE_GATHER_2PARTS] +#define TARGET_USE_SCATTER_2PARTS \ + ix86_tune_features[X86_TUNE_USE_SCATTER_2PARTS] +#define TARGET_USE_GATHER_4PARTS \ + ix86_tune_features[X86_TUNE_USE_GATHER_4PARTS] +#define TARGET_USE_SCATTER_4PARTS \ + ix86_tune_features[X86_TUNE_USE_SCATTER_4PARTS] +#define TARGET_USE_GATHER_8PARTS \ + ix86_tune_features[X86_TUNE_USE_GATHER_8PARTS] +#define TARGET_USE_SCATTER_8PARTS \ + ix86_tune_features[X86_TUNE_USE_SCATTER_8PARTS] +#define TARGET_FUSE_CMP_AND_BRANCH_32 \ + ix86_tune_features[X86_TUNE_FUSE_CMP_AND_BRANCH_32] +#define TARGET_FUSE_CMP_AND_BRANCH_64 \ + ix86_tune_features[X86_TUNE_FUSE_CMP_AND_BRANCH_64] +#define TARGET_FUSE_CMP_AND_BRANCH \ + (TARGET_64BIT ? TARGET_FUSE_CMP_AND_BRANCH_64 \ + : TARGET_FUSE_CMP_AND_BRANCH_32) +#define TARGET_FUSE_CMP_AND_BRANCH_SOFLAGS \ + ix86_tune_features[X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS] +#define TARGET_FUSE_ALU_AND_BRANCH \ + ix86_tune_features[X86_TUNE_FUSE_ALU_AND_BRANCH] +#define TARGET_OPT_AGU ix86_tune_features[X86_TUNE_OPT_AGU] +#define TARGET_AVOID_LEA_FOR_ADDR \ + ix86_tune_features[X86_TUNE_AVOID_LEA_FOR_ADDR] +#define TARGET_SOFTWARE_PREFETCHING_BENEFICIAL \ + ix86_tune_features[X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL] +#define TARGET_AVX256_SPLIT_REGS \ + ix86_tune_features[X86_TUNE_AVX256_SPLIT_REGS] +#define TARGET_AVX512_SPLIT_REGS \ + ix86_tune_features[X86_TUNE_AVX512_SPLIT_REGS] +#define TARGET_GENERAL_REGS_SSE_SPILL \ + ix86_tune_features[X86_TUNE_GENERAL_REGS_SSE_SPILL] +#define TARGET_AVOID_MEM_OPND_FOR_CMOVE \ + ix86_tune_features[X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE] +#define TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS \ + ix86_tune_features[X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS] +#define TARGET_ADJUST_UNROLL \ + ix86_tune_features[X86_TUNE_ADJUST_UNROLL] +#define TARGET_AVOID_FALSE_DEP_FOR_BMI \ + ix86_tune_features[X86_TUNE_AVOID_FALSE_DEP_FOR_BMI] +#define TARGET_ONE_IF_CONV_INSN \ + ix86_tune_features[X86_TUNE_ONE_IF_CONV_INSN] +#define TARGET_AVOID_MFENCE ix86_tune_features[X86_TUNE_AVOID_MFENCE] +#define TARGET_EMIT_VZEROUPPER \ + ix86_tune_features[X86_TUNE_EMIT_VZEROUPPER] +#define TARGET_EXPAND_ABS \ + ix86_tune_features[X86_TUNE_EXPAND_ABS] +#define TARGET_V2DF_REDUCTION_PREFER_HADDPD \ + ix86_tune_features[X86_TUNE_V2DF_REDUCTION_PREFER_HADDPD] +#define TARGET_DEST_FALSE_DEP_FOR_GLC \ + ix86_tune_features[X86_TUNE_DEST_FALSE_DEP_FOR_GLC] + +/* Feature tests against the various architecture variations. */ +enum ix86_arch_indices { + X86_ARCH_CMOV, + X86_ARCH_CMPXCHG, + X86_ARCH_CMPXCHG8B, + X86_ARCH_XADD, + X86_ARCH_BSWAP, + + X86_ARCH_LAST +}; + +extern unsigned char ix86_arch_features[X86_ARCH_LAST]; + +#define TARGET_CMOV ix86_arch_features[X86_ARCH_CMOV] +#define TARGET_CMPXCHG ix86_arch_features[X86_ARCH_CMPXCHG] +#define TARGET_CMPXCHG8B ix86_arch_features[X86_ARCH_CMPXCHG8B] +#define TARGET_XADD ix86_arch_features[X86_ARCH_XADD] +#define TARGET_BSWAP ix86_arch_features[X86_ARCH_BSWAP] + +/* For sane SSE instruction set generation we need fcomi instruction. + It is safe to enable all CMOVE instructions. Also, RDRAND intrinsic + expands to a sequence that includes conditional move. */ +#define TARGET_CMOVE (TARGET_CMOV || TARGET_SSE || TARGET_RDRND) + +#define TARGET_FISTTP (TARGET_SSE3 && TARGET_80387) + +extern unsigned char ix86_prefetch_sse; +#define TARGET_PREFETCH_SSE ix86_prefetch_sse + +#define ASSEMBLER_DIALECT (ix86_asm_dialect) + +#define TARGET_SSE_MATH ((ix86_fpmath & FPMATH_SSE) != 0) +#define TARGET_MIX_SSE_I387 \ + ((ix86_fpmath & (FPMATH_SSE | FPMATH_387)) == (FPMATH_SSE | FPMATH_387)) + +#define TARGET_HARD_SF_REGS (TARGET_80387 || TARGET_MMX || TARGET_SSE) +#define TARGET_HARD_DF_REGS (TARGET_80387 || TARGET_SSE) +#define TARGET_HARD_XF_REGS (TARGET_80387) + +#define TARGET_GNU_TLS (ix86_tls_dialect == TLS_DIALECT_GNU) +#define TARGET_GNU2_TLS (ix86_tls_dialect == TLS_DIALECT_GNU2) +#define TARGET_ANY_GNU_TLS (TARGET_GNU_TLS || TARGET_GNU2_TLS) +#define TARGET_SUN_TLS 0 + +#ifndef TARGET_64BIT_DEFAULT +#define TARGET_64BIT_DEFAULT 0 +#endif +#ifndef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT +#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT 0 +#endif + +#define TARGET_SSP_GLOBAL_GUARD (ix86_stack_protector_guard == SSP_GLOBAL) +#define TARGET_SSP_TLS_GUARD (ix86_stack_protector_guard == SSP_TLS) + +/* Fence to use after loop using storent. */ + +extern GTY(()) tree x86_mfence; +#define FENCE_FOLLOWING_MOVNT x86_mfence + +/* Once GDB has been enhanced to deal with functions without frame + pointers, we can change this to allow for elimination of + the frame pointer in leaf functions. */ +#define TARGET_DEFAULT 0 + +/* Extra bits to force. */ +#define TARGET_SUBTARGET_DEFAULT 0 +#define TARGET_SUBTARGET_ISA_DEFAULT 0 + +/* Extra bits to force on w/ 32-bit mode. */ +#define TARGET_SUBTARGET32_DEFAULT 0 +#define TARGET_SUBTARGET32_ISA_DEFAULT 0 + +/* Extra bits to force on w/ 64-bit mode. */ +#define TARGET_SUBTARGET64_DEFAULT 0 +/* Enable MMX, SSE and SSE2 by default. */ +#define TARGET_SUBTARGET64_ISA_DEFAULT \ + (OPTION_MASK_ISA_MMX | OPTION_MASK_ISA_SSE | OPTION_MASK_ISA_SSE2) + +/* Replace MACH-O, ifdefs by in-line tests, where possible. + (a) Macros defined in config/i386/darwin.h */ +#define TARGET_MACHO 0 +#define TARGET_MACHO_SYMBOL_STUBS 0 +#define MACHOPIC_ATT_STUB 0 +/* (b) Macros defined in config/darwin.h */ +#define MACHO_DYNAMIC_NO_PIC_P 0 +#define MACHOPIC_INDIRECT 0 +#define MACHOPIC_PURE 0 + +/* For the RDOS */ +#define TARGET_RDOS 0 + +/* For the Windows 64-bit ABI. */ +#define TARGET_64BIT_MS_ABI (TARGET_64BIT && ix86_cfun_abi () == MS_ABI) + +/* For the Windows 32-bit ABI. */ +#define TARGET_32BIT_MS_ABI (!TARGET_64BIT && ix86_cfun_abi () == MS_ABI) + +/* This is re-defined by cygming.h. */ +#define TARGET_SEH 0 + +/* The default abi used by target. */ +#define DEFAULT_ABI SYSV_ABI + +/* The default TLS segment register used by target. */ +#define DEFAULT_TLS_SEG_REG \ + (TARGET_64BIT ? ADDR_SPACE_SEG_FS : ADDR_SPACE_SEG_GS) + +/* Subtargets may reset this to 1 in order to enable 96-bit long double + with the rounding mode forced to 53 bits. */ +#define TARGET_96_ROUND_53_LONG_DOUBLE 0 + +#ifndef SUBTARGET_DRIVER_SELF_SPECS +# define SUBTARGET_DRIVER_SELF_SPECS "" +#endif + +#define DRIVER_SELF_SPECS SUBTARGET_DRIVER_SELF_SPECS + +/* -march=native handling only makes sense with compiler running on + an x86 or x86_64 chip. If changing this condition, also change + the condition in driver-i386.cc. */ +#if defined(__i386__) || defined(__x86_64__) +/* In driver-i386.cc. */ +extern const char *host_detect_local_cpu (int argc, const char **argv); +#define EXTRA_SPEC_FUNCTIONS \ + { "local_cpu_detect", host_detect_local_cpu }, +#define HAVE_LOCAL_CPU_DETECT +#endif + +#if TARGET_64BIT_DEFAULT +#define OPT_ARCH64 "!m32" +#define OPT_ARCH32 "m32" +#else +#define OPT_ARCH64 "m64|mx32" +#define OPT_ARCH32 "m64|mx32:;" +#endif + +/* Support for configure-time defaults of some command line options. + The order here is important so that -march doesn't squash the + tune or cpu values. */ +#define OPTION_DEFAULT_SPECS \ + {"tune", "%{!mtune=*:%{!mcpu=*:%{!march=*:-mtune=%(VALUE)}}}" }, \ + {"tune_32", "%{" OPT_ARCH32 ":%{!mtune=*:%{!mcpu=*:%{!march=*:-mtune=%(VALUE)}}}}" }, \ + {"tune_64", "%{" OPT_ARCH64 ":%{!mtune=*:%{!mcpu=*:%{!march=*:-mtune=%(VALUE)}}}}" }, \ + {"cpu", "%{!mtune=*:%{!mcpu=*:%{!march=*:-mtune=%(VALUE)}}}" }, \ + {"cpu_32", "%{" OPT_ARCH32 ":%{!mtune=*:%{!mcpu=*:%{!march=*:-mtune=%(VALUE)}}}}" }, \ + {"cpu_64", "%{" OPT_ARCH64 ":%{!mtune=*:%{!mcpu=*:%{!march=*:-mtune=%(VALUE)}}}}" }, \ + {"arch", "%{!march=*:-march=%(VALUE)}"}, \ + {"arch_32", "%{" OPT_ARCH32 ":%{!march=*:-march=%(VALUE)}}"}, \ + {"arch_64", "%{" OPT_ARCH64 ":%{!march=*:-march=%(VALUE)}}"}, + +/* Specs for the compiler proper */ + +#ifndef CC1_CPU_SPEC +#define CC1_CPU_SPEC_1 "" + +#ifndef HAVE_LOCAL_CPU_DETECT +#define CC1_CPU_SPEC CC1_CPU_SPEC_1 +#else +#define ARCH_ARG "%{" OPT_ARCH64 ":64;:32}" +#define CC1_CPU_SPEC CC1_CPU_SPEC_1 \ +"%{march=native:%>march=native %:local_cpu_detect(arch " ARCH_ARG ") \ + %{!mtune=*:%>mtune=native %:local_cpu_detect(tune " ARCH_ARG ")}} \ +%{mtune=native:%>mtune=native %:local_cpu_detect(tune " ARCH_ARG ")}" +#endif +#endif + +/* Target CPU builtins. */ +#define TARGET_CPU_CPP_BUILTINS() ix86_target_macros () + +/* Target Pragmas. */ +#define REGISTER_TARGET_PRAGMAS() ix86_register_pragmas () + +#ifndef CC1_SPEC +#define CC1_SPEC "%(cc1_cpu) " +#endif + +/* This macro defines names of additional specifications to put in the + specs that can be used in various specifications like CC1_SPEC. Its + definition is an initializer with a subgrouping for each command option. + + Each subgrouping contains a string constant, that defines the + specification name, and a string constant that used by the GCC driver + program. + + Do not define this macro if it does not need to do anything. */ + +#ifndef SUBTARGET_EXTRA_SPECS +#define SUBTARGET_EXTRA_SPECS +#endif + +#define EXTRA_SPECS \ + { "cc1_cpu", CC1_CPU_SPEC }, \ + SUBTARGET_EXTRA_SPECS + + +/* Whether to allow x87 floating-point arithmetic on MODE (one of + SFmode, DFmode and XFmode) in the current excess precision + configuration. */ +#define X87_ENABLE_ARITH(MODE) \ + (ix86_unsafe_math_optimizations \ + || ix86_excess_precision == EXCESS_PRECISION_FAST \ + || (MODE) == XFmode) + +/* Likewise, whether to allow direct conversions from integer mode + IMODE (HImode, SImode or DImode) to MODE. */ +#define X87_ENABLE_FLOAT(MODE, IMODE) \ + (ix86_unsafe_math_optimizations \ + || ix86_excess_precision == EXCESS_PRECISION_FAST \ + || (MODE) == XFmode \ + || ((MODE) == DFmode && (IMODE) == SImode) \ + || (IMODE) == HImode) + +/* target machine storage layout */ + +#define SHORT_TYPE_SIZE 16 +#define INT_TYPE_SIZE 32 +#define LONG_TYPE_SIZE (TARGET_X32 ? 32 : BITS_PER_WORD) +#define POINTER_SIZE (TARGET_X32 ? 32 : BITS_PER_WORD) +#define LONG_LONG_TYPE_SIZE 64 +#define FLOAT_TYPE_SIZE 32 +#define DOUBLE_TYPE_SIZE 64 +#define LONG_DOUBLE_TYPE_SIZE \ + (TARGET_LONG_DOUBLE_64 ? 64 : (TARGET_LONG_DOUBLE_128 ? 128 : 80)) + +#define WIDEST_HARDWARE_FP_SIZE 80 + +#if defined (TARGET_BI_ARCH) || TARGET_64BIT_DEFAULT +#define MAX_BITS_PER_WORD 64 +#else +#define MAX_BITS_PER_WORD 32 +#endif + +/* Define this if most significant byte of a word is the lowest numbered. */ +/* That is true on the 80386. */ + +#define BITS_BIG_ENDIAN 0 + +/* Define this if most significant byte of a word is the lowest numbered. */ +/* That is not true on the 80386. */ +#define BYTES_BIG_ENDIAN 0 + +/* Define this if most significant word of a multiword number is the lowest + numbered. */ +/* Not true for 80386 */ +#define WORDS_BIG_ENDIAN 0 + +/* Width of a word, in units (bytes). */ +#define UNITS_PER_WORD (TARGET_64BIT ? 8 : 4) + +#ifndef IN_LIBGCC2 +#define MIN_UNITS_PER_WORD 4 +#endif + +/* Allocation boundary (in *bits*) for storing arguments in argument list. */ +#define PARM_BOUNDARY BITS_PER_WORD + +/* Boundary (in *bits*) on which stack pointer should be aligned. */ +#define STACK_BOUNDARY (TARGET_64BIT_MS_ABI ? 128 : BITS_PER_WORD) + +/* Stack boundary of the main function guaranteed by OS. */ +#define MAIN_STACK_BOUNDARY (TARGET_64BIT ? 128 : 32) + +/* Minimum stack boundary. */ +#define MIN_STACK_BOUNDARY BITS_PER_WORD + +/* Boundary (in *bits*) on which the stack pointer prefers to be + aligned; the compiler cannot rely on having this alignment. */ +#define PREFERRED_STACK_BOUNDARY ix86_preferred_stack_boundary + +/* It should be MIN_STACK_BOUNDARY. But we set it to 128 bits for + both 32bit and 64bit, to support codes that need 128 bit stack + alignment for SSE instructions, but can't realign the stack. */ +#define PREFERRED_STACK_BOUNDARY_DEFAULT \ + (TARGET_IAMCU ? MIN_STACK_BOUNDARY : 128) + +/* 1 if -mstackrealign should be turned on by default. It will + generate an alternate prologue and epilogue that realigns the + runtime stack if nessary. This supports mixing codes that keep a + 4-byte aligned stack, as specified by i386 psABI, with codes that + need a 16-byte aligned stack, as required by SSE instructions. */ +#define STACK_REALIGN_DEFAULT 0 + +/* Boundary (in *bits*) on which the incoming stack is aligned. */ +#define INCOMING_STACK_BOUNDARY ix86_incoming_stack_boundary + +/* According to Windows x64 software convention, the maximum stack allocatable + in the prologue is 4G - 8 bytes. Furthermore, there is a limited set of + instructions allowed to adjust the stack pointer in the epilog, forcing the + use of frame pointer for frames larger than 2 GB. This theorical limit + is reduced by 256, an over-estimated upper bound for the stack use by the + prologue. + We define only one threshold for both the prolog and the epilog. When the + frame size is larger than this threshold, we allocate the area to save SSE + regs, then save them, and then allocate the remaining. There is no SEH + unwind info for this later allocation. */ +#define SEH_MAX_FRAME_SIZE ((2U << 30) - 256) + +/* Target OS keeps a vector-aligned (128-bit, 16-byte) stack. This is + mandatory for the 64-bit ABI, and may or may not be true for other + operating systems. */ +#define TARGET_KEEPS_VECTOR_ALIGNED_STACK TARGET_64BIT + +/* Minimum allocation boundary for the code of a function. */ +#define FUNCTION_BOUNDARY 8 + +/* C++ stores the virtual bit in the lowest bit of function pointers. */ +#define TARGET_PTRMEMFUNC_VBIT_LOCATION ptrmemfunc_vbit_in_pfn + +/* Minimum size in bits of the largest boundary to which any + and all fundamental data types supported by the hardware + might need to be aligned. No data type wants to be aligned + rounder than this. + + Pentium+ prefers DFmode values to be aligned to 64 bit boundary + and Pentium Pro XFmode values at 128 bit boundaries. + + When increasing the maximum, also update + TARGET_ABSOLUTE_BIGGEST_ALIGNMENT. */ + +#define BIGGEST_ALIGNMENT \ + (TARGET_IAMCU ? 32 : (TARGET_AVX512F ? 512 : (TARGET_AVX ? 256 : 128))) + +/* Maximum stack alignment. */ +#define MAX_STACK_ALIGNMENT MAX_OFILE_ALIGNMENT + +/* Alignment value for attribute ((aligned)). It is a constant since + it is the part of the ABI. We shouldn't change it with -mavx. */ +#define ATTRIBUTE_ALIGNED_VALUE (TARGET_IAMCU ? 32 : 128) + +/* Decide whether a variable of mode MODE should be 128 bit aligned. */ +#define ALIGN_MODE_128(MODE) \ + ((MODE) == XFmode || SSE_REG_MODE_P (MODE)) + +/* The published ABIs say that doubles should be aligned on word + boundaries, so lower the alignment for structure fields unless + -malign-double is set. */ + +/* ??? Blah -- this macro is used directly by libobjc. Since it + supports no vector modes, cut out the complexity and fall back + on BIGGEST_FIELD_ALIGNMENT. */ +#ifdef IN_TARGET_LIBS +#ifdef __x86_64__ +#define BIGGEST_FIELD_ALIGNMENT 128 +#else +#define BIGGEST_FIELD_ALIGNMENT 32 +#endif +#else +#define ADJUST_FIELD_ALIGN(FIELD, TYPE, COMPUTED) \ + x86_field_alignment ((TYPE), (COMPUTED)) +#endif + +/* If defined, a C expression to compute the alignment for a static + variable. TYPE is the data type, and ALIGN is the alignment that + the object would ordinarily have. The value of this macro is used + instead of that alignment to align the object. + + If this macro is not defined, then ALIGN is used. + + One use of this macro is to increase alignment of medium-size + data to make it all fit in fewer cache lines. Another is to + cause character arrays to be word-aligned so that `strcpy' calls + that copy constants to character arrays can be done inline. */ + +#define DATA_ALIGNMENT(TYPE, ALIGN) \ + ix86_data_alignment ((TYPE), (ALIGN), true) + +/* Similar to DATA_ALIGNMENT, but for the cases where the ABI mandates + some alignment increase, instead of optimization only purposes. E.g. + AMD x86-64 psABI says that variables with array type larger than 15 bytes + must be aligned to 16 byte boundaries. + + If this macro is not defined, then ALIGN is used. */ + +#define DATA_ABI_ALIGNMENT(TYPE, ALIGN) \ + ix86_data_alignment ((TYPE), (ALIGN), false) + +/* If defined, a C expression to compute the alignment for a local + variable. TYPE is the data type, and ALIGN is the alignment that + the object would ordinarily have. The value of this macro is used + instead of that alignment to align the object. + + If this macro is not defined, then ALIGN is used. + + One use of this macro is to increase alignment of medium-size + data to make it all fit in fewer cache lines. */ + +#define LOCAL_ALIGNMENT(TYPE, ALIGN) \ + ix86_local_alignment ((TYPE), VOIDmode, (ALIGN)) + +/* If defined, a C expression to compute the alignment for stack slot. + TYPE is the data type, MODE is the widest mode available, and ALIGN + is the alignment that the slot would ordinarily have. The value of + this macro is used instead of that alignment to align the slot. + + If this macro is not defined, then ALIGN is used when TYPE is NULL, + Otherwise, LOCAL_ALIGNMENT will be used. + + One use of this macro is to set alignment of stack slot to the + maximum alignment of all possible modes which the slot may have. */ + +#define STACK_SLOT_ALIGNMENT(TYPE, MODE, ALIGN) \ + ix86_local_alignment ((TYPE), (MODE), (ALIGN)) + +/* If defined, a C expression to compute the alignment for a local + variable DECL. + + If this macro is not defined, then + LOCAL_ALIGNMENT (TREE_TYPE (DECL), DECL_ALIGN (DECL)) will be used. + + One use of this macro is to increase alignment of medium-size + data to make it all fit in fewer cache lines. */ + +#define LOCAL_DECL_ALIGNMENT(DECL) \ + ix86_local_alignment ((DECL), VOIDmode, DECL_ALIGN (DECL)) + +/* If defined, a C expression to compute the minimum required alignment + for dynamic stack realignment purposes for EXP (a TYPE or DECL), + MODE, assuming normal alignment ALIGN. + + If this macro is not defined, then (ALIGN) will be used. */ + +#define MINIMUM_ALIGNMENT(EXP, MODE, ALIGN) \ + ix86_minimum_alignment ((EXP), (MODE), (ALIGN)) + + +/* Set this nonzero if move instructions will actually fail to work + when given unaligned data. */ +#define STRICT_ALIGNMENT 0 + +/* If bit field type is int, don't let it cross an int, + and give entire struct the alignment of an int. */ +/* Required on the 386 since it doesn't have bit-field insns. */ +#define PCC_BITFIELD_TYPE_MATTERS 1 + +/* Standard register usage. */ + +/* This processor has special stack-like registers. See reg-stack.cc + for details. */ + +#define STACK_REGS + +#define IS_STACK_MODE(MODE) \ + (X87_FLOAT_MODE_P (MODE) \ + && (!(SSE_FLOAT_MODE_P (MODE) && TARGET_SSE_MATH) \ + || TARGET_MIX_SSE_I387)) + +/* Number of actual hardware registers. + The hardware registers are assigned numbers for the compiler + from 0 to just below FIRST_PSEUDO_REGISTER. + All registers that the compiler knows about must be given numbers, + even those that are not normally considered general registers. + + In the 80386 we give the 8 general purpose registers the numbers 0-7. + We number the floating point registers 8-15. + Note that registers 0-7 can be accessed as a short or int, + while only 0-3 may be used with byte `mov' instructions. + + Reg 16 does not correspond to any hardware register, but instead + appears in the RTL as an argument pointer prior to reload, and is + eliminated during reloading in favor of either the stack or frame + pointer. */ + +#define FIRST_PSEUDO_REGISTER FIRST_PSEUDO_REG + +/* Number of hardware registers that go into the DWARF-2 unwind info. + If not defined, equals FIRST_PSEUDO_REGISTER. */ + +#define DWARF_FRAME_REGISTERS 17 + +/* 1 for registers that have pervasive standard uses + and are not available for the register allocator. + On the 80386, the stack pointer is such, as is the arg pointer. + + REX registers are disabled for 32bit targets in + TARGET_CONDITIONAL_REGISTER_USAGE. */ + +#define FIXED_REGISTERS \ +/*ax,dx,cx,bx,si,di,bp,sp,st,st1,st2,st3,st4,st5,st6,st7*/ \ +{ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \ +/*arg,flags,fpsr,frame*/ \ + 1, 1, 1, 1, \ +/*xmm0,xmm1,xmm2,xmm3,xmm4,xmm5,xmm6,xmm7*/ \ + 0, 0, 0, 0, 0, 0, 0, 0, \ +/* mm0, mm1, mm2, mm3, mm4, mm5, mm6, mm7*/ \ + 0, 0, 0, 0, 0, 0, 0, 0, \ +/* r8, r9, r10, r11, r12, r13, r14, r15*/ \ + 0, 0, 0, 0, 0, 0, 0, 0, \ +/*xmm8,xmm9,xmm10,xmm11,xmm12,xmm13,xmm14,xmm15*/ \ + 0, 0, 0, 0, 0, 0, 0, 0, \ +/*xmm16,xmm17,xmm18,xmm19,xmm20,xmm21,xmm22,xmm23*/ \ + 0, 0, 0, 0, 0, 0, 0, 0, \ +/*xmm24,xmm25,xmm26,xmm27,xmm28,xmm29,xmm30,xmm31*/ \ + 0, 0, 0, 0, 0, 0, 0, 0, \ +/* k0, k1, k2, k3, k4, k5, k6, k7*/ \ + 0, 0, 0, 0, 0, 0, 0, 0 } + +/* 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. + + Value is set to 1 if the register is call used unconditionally. + Bit one is set if the register is call used on TARGET_32BIT ABI. + Bit two is set if the register is call used on TARGET_64BIT ABI. + Bit three is set if the register is call used on TARGET_64BIT_MS_ABI. + + Proper values are computed in TARGET_CONDITIONAL_REGISTER_USAGE. */ + +#define CALL_USED_REGISTERS_MASK(IS_64BIT_MS_ABI) \ + ((IS_64BIT_MS_ABI) ? (1 << 3) : TARGET_64BIT ? (1 << 2) : (1 << 1)) + +#define CALL_USED_REGISTERS \ +/*ax,dx,cx,bx,si,di,bp,sp,st,st1,st2,st3,st4,st5,st6,st7*/ \ +{ 1, 1, 1, 0, 4, 4, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ +/*arg,flags,fpsr,frame*/ \ + 1, 1, 1, 1, \ +/*xmm0,xmm1,xmm2,xmm3,xmm4,xmm5,xmm6,xmm7*/ \ + 1, 1, 1, 1, 1, 1, 6, 6, \ +/* mm0, mm1, mm2, mm3, mm4, mm5, mm6, mm7*/ \ + 1, 1, 1, 1, 1, 1, 1, 1, \ +/* r8, r9, r10, r11, r12, r13, r14, r15*/ \ + 1, 1, 1, 1, 2, 2, 2, 2, \ +/*xmm8,xmm9,xmm10,xmm11,xmm12,xmm13,xmm14,xmm15*/ \ + 6, 6, 6, 6, 6, 6, 6, 6, \ +/*xmm16,xmm17,xmm18,xmm19,xmm20,xmm21,xmm22,xmm23*/ \ + 1, 1, 1, 1, 1, 1, 1, 1, \ +/*xmm24,xmm25,xmm26,xmm27,xmm28,xmm29,xmm30,xmm31*/ \ + 1, 1, 1, 1, 1, 1, 1, 1, \ + /* k0, k1, k2, k3, k4, k5, k6, k7*/ \ + 1, 1, 1, 1, 1, 1, 1, 1 } + +/* Order in which to allocate registers. Each register must be + listed once, even those in FIXED_REGISTERS. List frame pointer + late and fixed registers last. Note that, in general, we prefer + registers listed in CALL_USED_REGISTERS, keeping the others + available for storage of persistent values. + + The ADJUST_REG_ALLOC_ORDER actually overwrite the order, + so this is just empty initializer for array. */ + +#define REG_ALLOC_ORDER \ +{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, \ + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, \ + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, \ + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, \ + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75 } + +/* ADJUST_REG_ALLOC_ORDER is a macro which permits reg_alloc_order + to be rearranged based on a particular function. When using sse math, + we want to allocate SSE before x87 registers and vice versa. */ + +#define ADJUST_REG_ALLOC_ORDER x86_order_regs_for_local_alloc () + + +#define OVERRIDE_ABI_FORMAT(FNDECL) ix86_call_abi_override (FNDECL) + +#define HARD_REGNO_NREGS_HAS_PADDING(REGNO, MODE) \ + (TARGET_128BIT_LONG_DOUBLE && !TARGET_64BIT \ + && GENERAL_REGNO_P (REGNO) \ + && ((MODE) == XFmode || (MODE) == XCmode)) + +#define HARD_REGNO_NREGS_WITH_PADDING(REGNO, MODE) ((MODE) == XFmode ? 4 : 8) + +#define REGMODE_NATURAL_SIZE(MODE) ix86_regmode_natural_size (MODE) + +#define VALID_AVX256_REG_MODE(MODE) \ + ((MODE) == V32QImode || (MODE) == V16HImode || (MODE) == V8SImode \ + || (MODE) == V4DImode || (MODE) == V2TImode || (MODE) == V8SFmode \ + || (MODE) == V4DFmode || (MODE) == V16HFmode || (MODE) == V16BFmode) + +#define VALID_AVX256_REG_OR_OI_MODE(MODE) \ + (VALID_AVX256_REG_MODE (MODE) || (MODE) == OImode) + +#define VALID_AVX512F_SCALAR_MODE(MODE) \ + ((MODE) == DImode || (MODE) == DFmode \ + || (MODE) == SImode || (MODE) == SFmode \ + || (MODE) == HImode || (MODE) == HFmode || (MODE) == BFmode) + +#define VALID_AVX512F_REG_MODE(MODE) \ + ((MODE) == V8DImode || (MODE) == V8DFmode || (MODE) == V64QImode \ + || (MODE) == V16SImode || (MODE) == V16SFmode || (MODE) == V32HImode \ + || (MODE) == V4TImode || (MODE) == V32HFmode || (MODE) == V32BFmode) + +#define VALID_AVX512F_REG_OR_XI_MODE(MODE) \ + (VALID_AVX512F_REG_MODE (MODE) || (MODE) == XImode) + +#define VALID_AVX512VL_128_REG_MODE(MODE) \ + ((MODE) == V2DImode || (MODE) == V2DFmode || (MODE) == V16QImode \ + || (MODE) == V4SImode || (MODE) == V4SFmode || (MODE) == V8HImode \ + || (MODE) == TFmode || (MODE) == V1TImode || (MODE) == V8HFmode \ + || (MODE) == V8BFmode || (MODE) == TImode) + +#define VALID_AVX512FP16_REG_MODE(MODE) \ + ((MODE) == V8HFmode || (MODE) == V16HFmode || (MODE) == V32HFmode) + +#define VALID_SSE2_REG_MODE(MODE) \ + ((MODE) == V16QImode || (MODE) == V8HImode || (MODE) == V2DFmode \ + || (MODE) == V8HFmode || (MODE) == V4HFmode || (MODE) == V2HFmode \ + || (MODE) == V8BFmode || (MODE) == V4BFmode || (MODE) == V2BFmode \ + || (MODE) == V4QImode || (MODE) == V2HImode || (MODE) == V1SImode \ + || (MODE) == V2DImode || (MODE) == V2QImode \ + || (MODE) == DFmode || (MODE) == DImode \ + || (MODE) == HFmode || (MODE) == BFmode) + +#define VALID_SSE_REG_MODE(MODE) \ + ((MODE) == V1TImode || (MODE) == TImode \ + || (MODE) == V4SFmode || (MODE) == V4SImode \ + || (MODE) == SFmode || (MODE) == SImode \ + || (MODE) == TFmode || (MODE) == TDmode) + +#define VALID_MMX_REG_MODE_3DNOW(MODE) \ + ((MODE) == V2SFmode || (MODE) == SFmode) + +/* To match ia32 psABI, V4HFmode should be added here. */ +#define VALID_MMX_REG_MODE(MODE) \ + ((MODE) == V1DImode || (MODE) == DImode \ + || (MODE) == V2SImode || (MODE) == SImode \ + || (MODE) == V4HImode || (MODE) == V8QImode \ + || (MODE) == V4HFmode || (MODE) == V4BFmode) + +#define VALID_MASK_REG_MODE(MODE) ((MODE) == HImode || (MODE) == QImode) + +#define VALID_MASK_AVX512BW_MODE(MODE) ((MODE) == SImode || (MODE) == DImode) + +#define VALID_FP_MODE_P(MODE) \ + ((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode \ + || (MODE) == SCmode || (MODE) == DCmode || (MODE) == XCmode) + +#define VALID_INT_MODE_P(MODE) \ + ((MODE) == QImode || (MODE) == HImode \ + || (MODE) == SImode || (MODE) == DImode \ + || (MODE) == CQImode || (MODE) == CHImode \ + || (MODE) == CSImode || (MODE) == CDImode \ + || (MODE) == SDmode || (MODE) == DDmode \ + || (MODE) == HFmode || (MODE) == HCmode || (MODE) == BFmode \ + || (MODE) == V2HImode || (MODE) == V2HFmode || (MODE) == V2BFmode \ + || (MODE) == V1SImode || (MODE) == V4QImode || (MODE) == V2QImode \ + || (TARGET_64BIT \ + && ((MODE) == TImode || (MODE) == CTImode \ + || (MODE) == TFmode || (MODE) == TCmode \ + || (MODE) == V8QImode || (MODE) == V4HImode \ + || (MODE) == V2SImode || (MODE) == TDmode))) + +/* Return true for modes passed in SSE registers. */ +#define SSE_REG_MODE_P(MODE) \ + ((MODE) == V1TImode || (MODE) == TImode || (MODE) == V16QImode \ + || (MODE) == TFmode || (MODE) == V8HImode || (MODE) == V2DFmode \ + || (MODE) == V2DImode || (MODE) == V4SFmode || (MODE) == V4SImode \ + || (MODE) == V32QImode || (MODE) == V16HImode || (MODE) == V8SImode \ + || (MODE) == V4DImode || (MODE) == V8SFmode || (MODE) == V4DFmode \ + || (MODE) == V2TImode || (MODE) == V8DImode || (MODE) == V64QImode \ + || (MODE) == V16SImode || (MODE) == V32HImode || (MODE) == V8DFmode \ + || (MODE) == V16SFmode \ + || (MODE) == V32HFmode || (MODE) == V16HFmode || (MODE) == V8HFmode \ + || (MODE) == V32BFmode || (MODE) == V16BFmode || (MODE) == V8BFmode) + +#define X87_FLOAT_MODE_P(MODE) \ + (TARGET_80387 && ((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode)) + +#define SSE_FLOAT_MODE_P(MODE) \ + ((TARGET_SSE && (MODE) == SFmode) || (TARGET_SSE2 && (MODE) == DFmode)) + +#define SSE_FLOAT_MODE_SSEMATH_OR_HF_P(MODE) \ + ((SSE_FLOAT_MODE_P (MODE) && TARGET_SSE_MATH) \ + || (TARGET_AVX512FP16 && (MODE) == HFmode)) + +#define FMA4_VEC_FLOAT_MODE_P(MODE) \ + (TARGET_FMA4 && ((MODE) == V4SFmode || (MODE) == V2DFmode \ + || (MODE) == V8SFmode || (MODE) == V4DFmode)) + +#define VALID_BCST_MODE_P(MODE) \ + ((MODE) == SFmode || (MODE) == DFmode \ + || (MODE) == SImode || (MODE) == DImode \ + || (MODE) == HFmode) + +/* It is possible to write patterns to move flags; but until someone + does it, */ +#define AVOID_CCMODE_COPIES + +/* Specify the modes required to caller save a given hard regno. + We do this on i386 to prevent flags from being saved at all. + + Kill any attempts to combine saving of modes. */ + +#define HARD_REGNO_CALLER_SAVE_MODE(REGNO, NREGS, MODE) \ + (CC_REGNO_P (REGNO) ? VOIDmode \ + : (MODE) == VOIDmode && (NREGS) != 1 ? VOIDmode \ + : (MODE) == VOIDmode ? choose_hard_reg_mode ((REGNO), (NREGS), NULL) \ + : (MODE) == HImode && !((GENERAL_REGNO_P (REGNO) \ + && TARGET_PARTIAL_REG_STALL) \ + || MASK_REGNO_P (REGNO)) ? SImode \ + : (MODE) == QImode && !(ANY_QI_REGNO_P (REGNO) \ + || MASK_REGNO_P (REGNO)) ? SImode \ + : (MODE)) + +/* Specify the registers used for certain standard purposes. + The values of these macros are register numbers. */ + +/* on the 386 the pc register is %eip, and is not usable as a general + register. The ordinary mov instructions won't work */ +/* #define PC_REGNUM */ + +/* Base register for access to arguments of the function. */ +#define ARG_POINTER_REGNUM ARGP_REG + +/* Register to use for pushing function arguments. */ +#define STACK_POINTER_REGNUM SP_REG + +/* Base register for access to local variables of the function. */ +#define FRAME_POINTER_REGNUM FRAME_REG +#define HARD_FRAME_POINTER_REGNUM BP_REG + +#define FIRST_INT_REG AX_REG +#define LAST_INT_REG SP_REG + +#define FIRST_QI_REG AX_REG +#define LAST_QI_REG BX_REG + +/* First & last stack-like regs */ +#define FIRST_STACK_REG ST0_REG +#define LAST_STACK_REG ST7_REG + +#define FIRST_SSE_REG XMM0_REG +#define LAST_SSE_REG XMM7_REG + +#define FIRST_MMX_REG MM0_REG +#define LAST_MMX_REG MM7_REG + +#define FIRST_REX_INT_REG R8_REG +#define LAST_REX_INT_REG R15_REG + +#define FIRST_REX_SSE_REG XMM8_REG +#define LAST_REX_SSE_REG XMM15_REG + +#define FIRST_EXT_REX_SSE_REG XMM16_REG +#define LAST_EXT_REX_SSE_REG XMM31_REG + +#define FIRST_MASK_REG MASK0_REG +#define LAST_MASK_REG MASK7_REG + +/* Override this in other tm.h files to cope with various OS lossage + requiring a frame pointer. */ +#ifndef SUBTARGET_FRAME_POINTER_REQUIRED +#define SUBTARGET_FRAME_POINTER_REQUIRED 0 +#endif + +/* Define the shadow offset for asan. Other OS's can override in the + respective tm.h files. */ +#ifndef SUBTARGET_SHADOW_OFFSET +#define SUBTARGET_SHADOW_OFFSET \ + (TARGET_LP64 ? HOST_WIDE_INT_C (0x7fff8000) : HOST_WIDE_INT_1 << 29) +#endif + +/* Make sure we can access arbitrary call frames. */ +#define SETUP_FRAME_ADDRESSES() ix86_setup_frame_addresses () + +/* Register to hold the addressing base for position independent + code access to data items. We don't use PIC pointer for 64bit + mode. Define the regnum to dummy value to prevent gcc from + pessimizing code dealing with EBX. + + To avoid clobbering a call-saved register unnecessarily, we renumber + the pic register when possible. The change is visible after the + prologue has been emitted. */ + +#define REAL_PIC_OFFSET_TABLE_REGNUM (TARGET_64BIT ? R15_REG : BX_REG) + +#define PIC_OFFSET_TABLE_REGNUM \ + (ix86_use_pseudo_pic_reg () \ + ? (pic_offset_table_rtx \ + ? INVALID_REGNUM \ + : REAL_PIC_OFFSET_TABLE_REGNUM) \ + : INVALID_REGNUM) + +#define GOT_SYMBOL_NAME "_GLOBAL_OFFSET_TABLE_" + +/* This is overridden by . */ +#define MS_AGGREGATE_RETURN 0 + +#define KEEP_AGGREGATE_RETURN_POINTER 0 + +/* Define the classes of registers for register constraints in the + machine description. Also define ranges of constants. + + One of the classes must always be named ALL_REGS and include all hard regs. + If there is more than one class, another class must be named NO_REGS + and contain no registers. + + The name GENERAL_REGS must be the name of a class (or an alias for + another name such as ALL_REGS). This is the class of registers + that is allowed by "g" or "r" in a register constraint. + Also, registers outside this class are allocated only when + instructions express preferences for them. + + The classes must be numbered in nondecreasing order; that is, + a larger-numbered class must never be contained completely + in a smaller-numbered class. This is why CLOBBERED_REGS class + is listed early, even though in 64-bit mode it contains more + registers than just %eax, %ecx, %edx. + + For any two classes, it is very desirable that there be another + class that represents their union. + + The flags and fpsr registers are in no class. */ + +enum reg_class +{ + NO_REGS, + AREG, DREG, CREG, BREG, SIREG, DIREG, + AD_REGS, /* %eax/%edx for DImode */ + CLOBBERED_REGS, /* call-clobbered integer registers */ + Q_REGS, /* %eax %ebx %ecx %edx */ + NON_Q_REGS, /* %esi %edi %ebp %esp */ + TLS_GOTBASE_REGS, /* %ebx %ecx %edx %esi %edi %ebp */ + INDEX_REGS, /* %eax %ebx %ecx %edx %esi %edi %ebp */ + LEGACY_REGS, /* %eax %ebx %ecx %edx %esi %edi %ebp %esp */ + GENERAL_REGS, /* %eax %ebx %ecx %edx %esi %edi %ebp %esp + %r8 %r9 %r10 %r11 %r12 %r13 %r14 %r15 */ + FP_TOP_REG, FP_SECOND_REG, /* %st(0) %st(1) */ + FLOAT_REGS, + SSE_FIRST_REG, + NO_REX_SSE_REGS, + SSE_REGS, + ALL_SSE_REGS, + MMX_REGS, + FLOAT_SSE_REGS, + FLOAT_INT_REGS, + INT_SSE_REGS, + FLOAT_INT_SSE_REGS, + MASK_REGS, + ALL_MASK_REGS, + INT_MASK_REGS, + ALL_REGS, + LIM_REG_CLASSES +}; + +#define N_REG_CLASSES ((int) LIM_REG_CLASSES) + +#define INTEGER_CLASS_P(CLASS) \ + reg_class_subset_p ((CLASS), GENERAL_REGS) +#define FLOAT_CLASS_P(CLASS) \ + reg_class_subset_p ((CLASS), FLOAT_REGS) +#define SSE_CLASS_P(CLASS) \ + reg_class_subset_p ((CLASS), ALL_SSE_REGS) +#define INT_SSE_CLASS_P(CLASS) \ + reg_class_subset_p ((CLASS), INT_SSE_REGS) +#define MMX_CLASS_P(CLASS) \ + ((CLASS) == MMX_REGS) +#define MASK_CLASS_P(CLASS) \ + reg_class_subset_p ((CLASS), ALL_MASK_REGS) +#define MAYBE_INTEGER_CLASS_P(CLASS) \ + reg_classes_intersect_p ((CLASS), GENERAL_REGS) +#define MAYBE_FLOAT_CLASS_P(CLASS) \ + reg_classes_intersect_p ((CLASS), FLOAT_REGS) +#define MAYBE_SSE_CLASS_P(CLASS) \ + reg_classes_intersect_p ((CLASS), ALL_SSE_REGS) +#define MAYBE_MMX_CLASS_P(CLASS) \ + reg_classes_intersect_p ((CLASS), MMX_REGS) +#define MAYBE_MASK_CLASS_P(CLASS) \ + reg_classes_intersect_p ((CLASS), ALL_MASK_REGS) + +#define Q_CLASS_P(CLASS) \ + reg_class_subset_p ((CLASS), Q_REGS) + +#define MAYBE_NON_Q_CLASS_P(CLASS) \ + reg_classes_intersect_p ((CLASS), NON_Q_REGS) + +/* Give names of register classes as strings for dump file. */ + +#define REG_CLASS_NAMES \ +{ "NO_REGS", \ + "AREG", "DREG", "CREG", "BREG", \ + "SIREG", "DIREG", \ + "AD_REGS", \ + "CLOBBERED_REGS", \ + "Q_REGS", "NON_Q_REGS", \ + "TLS_GOTBASE_REGS", \ + "INDEX_REGS", \ + "LEGACY_REGS", \ + "GENERAL_REGS", \ + "FP_TOP_REG", "FP_SECOND_REG", \ + "FLOAT_REGS", \ + "SSE_FIRST_REG", \ + "NO_REX_SSE_REGS", \ + "SSE_REGS", \ + "ALL_SSE_REGS", \ + "MMX_REGS", \ + "FLOAT_SSE_REGS", \ + "FLOAT_INT_REGS", \ + "INT_SSE_REGS", \ + "FLOAT_INT_SSE_REGS", \ + "MASK_REGS", \ + "ALL_MASK_REGS", \ + "INT_MASK_REGS", \ + "ALL_REGS" } + +/* Define which registers fit in which classes. This is an initializer + for a vector of HARD_REG_SET of length N_REG_CLASSES. + + Note that CLOBBERED_REGS are calculated by + TARGET_CONDITIONAL_REGISTER_USAGE. */ + +#define REG_CLASS_CONTENTS \ +{ { 0x0, 0x0, 0x0 }, /* NO_REGS */ \ + { 0x01, 0x0, 0x0 }, /* AREG */ \ + { 0x02, 0x0, 0x0 }, /* DREG */ \ + { 0x04, 0x0, 0x0 }, /* CREG */ \ + { 0x08, 0x0, 0x0 }, /* BREG */ \ + { 0x10, 0x0, 0x0 }, /* SIREG */ \ + { 0x20, 0x0, 0x0 }, /* DIREG */ \ + { 0x03, 0x0, 0x0 }, /* AD_REGS */ \ + { 0x07, 0x0, 0x0 }, /* CLOBBERED_REGS */ \ + { 0x0f, 0x0, 0x0 }, /* Q_REGS */ \ + { 0x900f0, 0x0, 0x0 }, /* NON_Q_REGS */ \ + { 0x7e, 0xff0, 0x0 }, /* TLS_GOTBASE_REGS */ \ + { 0x7f, 0xff0, 0x0 }, /* INDEX_REGS */ \ + { 0x900ff, 0x0, 0x0 }, /* LEGACY_REGS */ \ + { 0x900ff, 0xff0, 0x0 }, /* GENERAL_REGS */ \ + { 0x100, 0x0, 0x0 }, /* FP_TOP_REG */ \ + { 0x200, 0x0, 0x0 }, /* FP_SECOND_REG */ \ + { 0xff00, 0x0, 0x0 }, /* FLOAT_REGS */ \ + { 0x100000, 0x0, 0x0 }, /* SSE_FIRST_REG */ \ + { 0xff00000, 0x0, 0x0 }, /* NO_REX_SSE_REGS */ \ + { 0xff00000, 0xff000, 0x0 }, /* SSE_REGS */ \ + { 0xff00000, 0xfffff000, 0xf }, /* ALL_SSE_REGS */ \ +{ 0xf0000000, 0xf, 0x0 }, /* MMX_REGS */ \ + { 0xff0ff00, 0xfffff000, 0xf }, /* FLOAT_SSE_REGS */ \ + { 0x9ffff, 0xff0, 0x0 }, /* FLOAT_INT_REGS */ \ + { 0xff900ff, 0xfffffff0, 0xf }, /* INT_SSE_REGS */ \ + { 0xff9ffff, 0xfffffff0, 0xf }, /* FLOAT_INT_SSE_REGS */ \ + { 0x0, 0x0, 0xfe0 }, /* MASK_REGS */ \ + { 0x0, 0x0, 0xff0 }, /* ALL_MASK_REGS */ \ + { 0x900ff, 0xff0, 0xff0 }, /* INT_MASK_REGS */ \ +{ 0xffffffff, 0xffffffff, 0xfff } /* ALL_REGS */ \ +} + +/* The same information, inverted: + Return the class number of the smallest class containing + reg number REGNO. This could be a conditional expression + or could index an array. */ + +#define REGNO_REG_CLASS(REGNO) (regclass_map[(REGNO)]) + +/* When this hook returns true for MODE, the compiler allows + registers explicitly used in the rtl to be used as spill registers + but prevents the compiler from extending the lifetime of these + registers. */ +#define TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P hook_bool_mode_true + +#define QI_REG_P(X) (REG_P (X) && QI_REGNO_P (REGNO (X))) +#define QI_REGNO_P(N) IN_RANGE ((N), FIRST_QI_REG, LAST_QI_REG) + +#define LEGACY_INT_REG_P(X) (REG_P (X) && LEGACY_INT_REGNO_P (REGNO (X))) +#define LEGACY_INT_REGNO_P(N) (IN_RANGE ((N), FIRST_INT_REG, LAST_INT_REG)) + +#define REX_INT_REG_P(X) (REG_P (X) && REX_INT_REGNO_P (REGNO (X))) +#define REX_INT_REGNO_P(N) \ + IN_RANGE ((N), FIRST_REX_INT_REG, LAST_REX_INT_REG) + +#define GENERAL_REG_P(X) (REG_P (X) && GENERAL_REGNO_P (REGNO (X))) +#define GENERAL_REGNO_P(N) \ + (LEGACY_INT_REGNO_P (N) || REX_INT_REGNO_P (N)) + +#define ANY_QI_REG_P(X) (REG_P (X) && ANY_QI_REGNO_P (REGNO (X))) +#define ANY_QI_REGNO_P(N) \ + (TARGET_64BIT ? GENERAL_REGNO_P (N) : QI_REGNO_P (N)) + +#define STACK_REG_P(X) (REG_P (X) && STACK_REGNO_P (REGNO (X))) +#define STACK_REGNO_P(N) IN_RANGE ((N), FIRST_STACK_REG, LAST_STACK_REG) + +#define SSE_REG_P(X) (REG_P (X) && SSE_REGNO_P (REGNO (X))) +#define SSE_REGNO_P(N) \ + (LEGACY_SSE_REGNO_P (N) \ + || REX_SSE_REGNO_P (N) \ + || EXT_REX_SSE_REGNO_P (N)) + +#define LEGACY_SSE_REGNO_P(N) \ + IN_RANGE ((N), FIRST_SSE_REG, LAST_SSE_REG) + +#define REX_SSE_REGNO_P(N) \ + IN_RANGE ((N), FIRST_REX_SSE_REG, LAST_REX_SSE_REG) + +#define EXT_REX_SSE_REG_P(X) (REG_P (X) && EXT_REX_SSE_REGNO_P (REGNO (X))) + +#define EXT_REX_SSE_REGNO_P(N) \ + IN_RANGE ((N), FIRST_EXT_REX_SSE_REG, LAST_EXT_REX_SSE_REG) + +#define ANY_FP_REG_P(X) (REG_P (X) && ANY_FP_REGNO_P (REGNO (X))) +#define ANY_FP_REGNO_P(N) (STACK_REGNO_P (N) || SSE_REGNO_P (N)) + +#define MASK_REG_P(X) (REG_P (X) && MASK_REGNO_P (REGNO (X))) +#define MASK_REGNO_P(N) IN_RANGE ((N), FIRST_MASK_REG, LAST_MASK_REG) +#define MASK_PAIR_REGNO_P(N) ((((N) - FIRST_MASK_REG) & 1) == 0) + +#define MMX_REG_P(X) (REG_P (X) && MMX_REGNO_P (REGNO (X))) +#define MMX_REGNO_P(N) IN_RANGE ((N), FIRST_MMX_REG, LAST_MMX_REG) + +#define CC_REG_P(X) (REG_P (X) && CC_REGNO_P (REGNO (X))) +#define CC_REGNO_P(X) ((X) == FLAGS_REG) + +#define MOD4_SSE_REG_P(X) (REG_P (X) && MOD4_SSE_REGNO_P (REGNO (X))) +#define MOD4_SSE_REGNO_P(N) ((N) == XMM0_REG \ + || (N) == XMM4_REG \ + || (N) == XMM8_REG \ + || (N) == XMM12_REG \ + || (N) == XMM16_REG \ + || (N) == XMM20_REG \ + || (N) == XMM24_REG \ + || (N) == XMM28_REG) + +/* First floating point reg */ +#define FIRST_FLOAT_REG FIRST_STACK_REG +#define STACK_TOP_P(X) (REG_P (X) && REGNO (X) == FIRST_FLOAT_REG) + +#define GET_SSE_REGNO(N) \ + ((N) < 8 ? FIRST_SSE_REG + (N) \ + : (N) < 16 ? FIRST_REX_SSE_REG + (N) - 8 \ + : FIRST_EXT_REX_SSE_REG + (N) - 16) + +/* The class value for index registers, and the one for base regs. */ + +#define INDEX_REG_CLASS INDEX_REGS +#define BASE_REG_CLASS GENERAL_REGS + +/* Stack layout; function entry, exit and calling. */ + +/* Define this if pushing a word on the stack + makes the stack pointer a smaller address. */ +#define STACK_GROWS_DOWNWARD 1 + +/* Define this to nonzero if the nominal address of the stack frame + is at the high-address end of the local variables; + that is, each additional local variable allocated + goes at a more negative offset in the frame. */ +#define FRAME_GROWS_DOWNWARD 1 + +#define PUSH_ROUNDING(BYTES) ix86_push_rounding (BYTES) + +/* If defined, the maximum amount of space required for outgoing arguments + will be computed and placed into the variable `crtl->outgoing_args_size'. + No space will be pushed onto the stack for each call; instead, the + function prologue should increase the stack frame size by this amount. + + In 32bit mode enabling argument accumulation results in about 5% code size + growth because move instructions are less compact than push. In 64bit + mode the difference is less drastic but visible. + + FIXME: Unlike earlier implementations, the size of unwind info seems to + actually grow with accumulation. Is that because accumulated args + unwind info became unnecesarily bloated? + + With the 64-bit MS ABI, we can generate correct code with or without + accumulated args, but because of OUTGOING_REG_PARM_STACK_SPACE the code + generated without accumulated args is terrible. + + If stack probes are required, the space used for large function + arguments on the stack must also be probed, so enable + -maccumulate-outgoing-args so this happens in the prologue. + + We must use argument accumulation in interrupt function if stack + may be realigned to avoid DRAP. */ + +#define ACCUMULATE_OUTGOING_ARGS \ + ((TARGET_ACCUMULATE_OUTGOING_ARGS \ + && optimize_function_for_speed_p (cfun)) \ + || (cfun->machine->func_type != TYPE_NORMAL \ + && crtl->stack_realign_needed) \ + || TARGET_STACK_PROBE \ + || TARGET_64BIT_MS_ABI \ + || (TARGET_MACHO && crtl->profile)) + +/* We want the stack and args grow in opposite directions, even if + targetm.calls.push_argument returns false. */ +#define PUSH_ARGS_REVERSED 1 + +/* Offset of first parameter from the argument pointer register value. */ +#define FIRST_PARM_OFFSET(FNDECL) 0 + +/* Define this macro if functions should assume that stack space has been + allocated for arguments even when their values are passed in registers. + + The value of this macro is the size, in bytes, of the area reserved for + arguments passed in registers for the function represented by FNDECL. + + This space can be allocated by the caller, or be a part of the + machine-dependent stack frame: `OUTGOING_REG_PARM_STACK_SPACE' says + which. */ +#define REG_PARM_STACK_SPACE(FNDECL) ix86_reg_parm_stack_space (FNDECL) + +#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) \ + (TARGET_64BIT && ix86_function_type_abi (FNTYPE) == MS_ABI) + +/* Define how to find the value returned by a library function + assuming the value has mode MODE. */ + +#define LIBCALL_VALUE(MODE) ix86_libcall_value (MODE) + +/* Define the size of the result block used for communication between + untyped_call and untyped_return. The block contains a DImode value + followed by the block used by fnsave and frstor. */ + +#define APPLY_RESULT_SIZE (8+108) + +/* 1 if N is a possible register number for function argument passing. */ +#define FUNCTION_ARG_REGNO_P(N) ix86_function_arg_regno_p (N) + +/* Define a data type for recording info about an argument list + during the scan of that argument list. This data type should + hold all necessary information about the function itself + and about the args processed so far, enough to enable macros + such as FUNCTION_ARG to determine where the next arg should go. */ + +typedef struct ix86_args { + int words; /* # words passed so far */ + int nregs; /* # registers available for passing */ + int regno; /* next available register number */ + int fastcall; /* fastcall or thiscall calling convention + is used */ + int sse_words; /* # sse words passed so far */ + int sse_nregs; /* # sse registers available for passing */ + int warn_avx512f; /* True when we want to warn + about AVX512F ABI. */ + int warn_avx; /* True when we want to warn about AVX ABI. */ + int warn_sse; /* True when we want to warn about SSE ABI. */ + int warn_mmx; /* True when we want to warn about MMX ABI. */ + int warn_empty; /* True when we want to warn about empty classes + passing ABI change. */ + int sse_regno; /* next available sse register number */ + int mmx_words; /* # mmx words passed so far */ + int mmx_nregs; /* # mmx registers available for passing */ + int mmx_regno; /* next available mmx register number */ + int maybe_vaarg; /* true for calls to possibly vardic fncts. */ + int caller; /* true if it is caller. */ + int float_in_sse; /* Set to 1 or 2 for 32bit targets if + SFmode/DFmode arguments should be passed + in SSE registers. Otherwise 0. */ + int stdarg; /* Set to 1 if function is stdarg. */ + enum calling_abi call_abi; /* Set to SYSV_ABI for sysv abi. Otherwise + MS_ABI for ms abi. */ + tree decl; /* Callee decl. */ +} CUMULATIVE_ARGS; + +/* Initialize a variable CUM of type CUMULATIVE_ARGS + for a call to a function whose data type is FNTYPE. + For a library call, FNTYPE is 0. */ + +#define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, FNDECL, N_NAMED_ARGS) \ + init_cumulative_args (&(CUM), (FNTYPE), (LIBNAME), (FNDECL), \ + (N_NAMED_ARGS) != -1) + +/* Output assembler code to FILE to increment profiler label # LABELNO + for profiling a function entry. */ + +#define FUNCTION_PROFILER(FILE, LABELNO) \ + x86_function_profiler ((FILE), (LABELNO)) + +#define MCOUNT_NAME "_mcount" + +#define MCOUNT_NAME_BEFORE_PROLOGUE "__fentry__" + +#define PROFILE_COUNT_REGISTER "edx" + +/* 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. + No definition is equivalent to always zero. */ +/* Note on the 386 it might be more efficient not to define this since + we have to restore it ourselves from the frame pointer, in order to + use pop */ + +#define EXIT_IGNORE_STACK 1 + +/* Define this macro as a C expression that is nonzero for registers + used by the epilogue or the `return' pattern. */ + +#define EPILOGUE_USES(REGNO) ix86_epilogue_uses (REGNO) + +/* Output assembler code for a block containing the constant parts + of a trampoline, leaving space for the variable parts. */ + +/* On the 386, the trampoline contains two instructions: + mov #STATIC,ecx + jmp FUNCTION + The trampoline is generated entirely at runtime. The operand of JMP + is the address of FUNCTION relative to the instruction following the + JMP (which is 5 bytes long). */ + +/* Length in units of the trampoline for entering a nested function. */ + +#define TRAMPOLINE_SIZE (TARGET_64BIT ? 28 : 14) + +/* Definitions for register eliminations. + + This is an array of structures. Each structure initializes one pair + of eliminable registers. The "from" register number is given first, + followed by "to". Eliminations of the same "from" register are listed + in order of preference. + + There are two registers that can always be eliminated on the i386. + 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, HARD_FRAME_POINTER_REGNUM}, \ + { FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}, \ + { FRAME_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM}} \ + +/* Define the offset between two registers, one to be eliminated, and the other + its replacement, at the start of a routine. */ + +#define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ + ((OFFSET) = ix86_initial_elimination_offset ((FROM), (TO))) + +/* Addressing modes, and classification of registers for them. */ + +/* Macros to check register numbers against specific register classes. */ + +/* These assume that REGNO is a hard or pseudo reg number. + They give nonzero only if REGNO is a hard reg of the suitable class + or a pseudo reg currently allocated to a suitable hard reg. + Since they use reg_renumber, they are safe only once reg_renumber + has been allocated, which happens in reginfo.cc during register + allocation. */ + +#define REGNO_OK_FOR_INDEX_P(REGNO) \ + ((REGNO) < STACK_POINTER_REGNUM \ + || REX_INT_REGNO_P (REGNO) \ + || (unsigned) reg_renumber[(REGNO)] < STACK_POINTER_REGNUM \ + || REX_INT_REGNO_P ((unsigned) reg_renumber[(REGNO)])) + +#define REGNO_OK_FOR_BASE_P(REGNO) \ + (GENERAL_REGNO_P (REGNO) \ + || (REGNO) == ARG_POINTER_REGNUM \ + || (REGNO) == FRAME_POINTER_REGNUM \ + || GENERAL_REGNO_P ((unsigned) reg_renumber[(REGNO)])) + +/* The macros REG_OK_FOR..._P assume that the arg is a REG rtx + and check its validity for a certain class. + We have two alternate definitions for each of them. + The usual definition accepts all pseudo regs; the other rejects + them unless they have been allocated suitable hard regs. + The symbol REG_OK_STRICT causes the latter definition to be used. + + Most source files want to accept pseudo regs in the hope that + they will get allocated to the class that the insn wants them to be in. + Source files for reload pass need to be strict. + After reload, it makes no difference, since pseudo regs have + been eliminated by then. */ + + +/* Non strict versions, pseudos are ok. */ +#define REG_OK_FOR_INDEX_NONSTRICT_P(X) \ + (REGNO (X) < STACK_POINTER_REGNUM \ + || REX_INT_REGNO_P (REGNO (X)) \ + || REGNO (X) >= FIRST_PSEUDO_REGISTER) + +#define REG_OK_FOR_BASE_NONSTRICT_P(X) \ + (GENERAL_REGNO_P (REGNO (X)) \ + || REGNO (X) == ARG_POINTER_REGNUM \ + || REGNO (X) == FRAME_POINTER_REGNUM \ + || REGNO (X) >= FIRST_PSEUDO_REGISTER) + +/* Strict versions, hard registers only */ +#define REG_OK_FOR_INDEX_STRICT_P(X) REGNO_OK_FOR_INDEX_P (REGNO (X)) +#define REG_OK_FOR_BASE_STRICT_P(X) REGNO_OK_FOR_BASE_P (REGNO (X)) + +#ifndef REG_OK_STRICT +#define REG_OK_FOR_INDEX_P(X) REG_OK_FOR_INDEX_NONSTRICT_P (X) +#define REG_OK_FOR_BASE_P(X) REG_OK_FOR_BASE_NONSTRICT_P (X) + +#else +#define REG_OK_FOR_INDEX_P(X) REG_OK_FOR_INDEX_STRICT_P (X) +#define REG_OK_FOR_BASE_P(X) REG_OK_FOR_BASE_STRICT_P (X) +#endif + +/* TARGET_LEGITIMATE_ADDRESS_P recognizes an RTL expression + that is a valid memory address for an instruction. + The MODE argument is the machine mode for the MEM expression + that wants to use this address. + + The other macros defined here are used only in TARGET_LEGITIMATE_ADDRESS_P, + except for CONSTANT_ADDRESS_P which is usually machine-independent. + + See legitimize_pic_address in i386.cc for details as to what + constitutes a legitimate address when -fpic is used. */ + +#define MAX_REGS_PER_ADDRESS 2 + +#define CONSTANT_ADDRESS_P(X) constant_address_p (X) + +/* If defined, a C expression to determine the base term of address X. + This macro is used in only one place: `find_base_term' in alias.cc. + + It is always safe for this macro to not be defined. It exists so + that alias analysis can understand machine-dependent addresses. + + The typical use of this macro is to handle addresses containing + a label_ref or symbol_ref within an UNSPEC. */ + +#define FIND_BASE_TERM(X) ix86_find_base_term (X) + +/* Nonzero if the constant value X is a legitimate general operand + when generating PIC code. It is given that flag_pic is on and + that X satisfies CONSTANT_P or is a CONST_DOUBLE. */ + +#define LEGITIMATE_PIC_OPERAND_P(X) legitimate_pic_operand_p (X) + +#define STRIP_UNARY(X) (UNARY_P (X) ? XEXP (X, 0) : X) + +#define SYMBOLIC_CONST(X) \ + (GET_CODE (X) == SYMBOL_REF \ + || GET_CODE (X) == LABEL_REF \ + || (GET_CODE (X) == CONST && symbolic_reference_mentioned_p (X))) + +/* Max number of args passed in registers. If this is more than 3, we will + have problems with ebx (register #4), since it is a caller save register and + is also used as the pic register in ELF. So for now, don't allow more than + 3 registers to be passed in registers. */ + +/* Abi specific values for REGPARM_MAX and SSE_REGPARM_MAX */ +#define X86_64_REGPARM_MAX 6 +#define X86_64_MS_REGPARM_MAX 4 + +#define X86_32_REGPARM_MAX 3 + +#define REGPARM_MAX \ + (TARGET_64BIT \ + ? (TARGET_64BIT_MS_ABI \ + ? X86_64_MS_REGPARM_MAX \ + : X86_64_REGPARM_MAX) \ + : X86_32_REGPARM_MAX) + +#define X86_64_SSE_REGPARM_MAX 8 +#define X86_64_MS_SSE_REGPARM_MAX 4 + +#define X86_32_SSE_REGPARM_MAX (TARGET_SSE ? (TARGET_MACHO ? 4 : 3) : 0) + +#define SSE_REGPARM_MAX \ + (TARGET_64BIT \ + ? (TARGET_64BIT_MS_ABI \ + ? X86_64_MS_SSE_REGPARM_MAX \ + : X86_64_SSE_REGPARM_MAX) \ + : X86_32_SSE_REGPARM_MAX) + +#define X86_32_MMX_REGPARM_MAX (TARGET_MMX ? (TARGET_MACHO ? 0 : 3) : 0) + +#define MMX_REGPARM_MAX (TARGET_64BIT ? 0 : X86_32_MMX_REGPARM_MAX) + +/* Specify the machine mode that this machine uses + for the index in the tablejump instruction. */ +#define CASE_VECTOR_MODE \ + (!TARGET_LP64 || (flag_pic && ix86_cmodel != CM_LARGE_PIC) ? SImode : DImode) + +/* Define this as 1 if `char' should by default be signed; else as 0. */ +#define DEFAULT_SIGNED_CHAR 1 + +/* The constant maximum number of bytes that a single instruction can + move quickly between memory and registers or between two memory + locations. */ +#define MAX_MOVE_MAX 64 + +/* Max number of bytes we can move from memory to memory in one + reasonably fast instruction, as opposed to MOVE_MAX_PIECES which + is the number of bytes at a time which we can move efficiently. + MOVE_MAX_PIECES defaults to MOVE_MAX. */ + +#define MOVE_MAX \ + ((TARGET_AVX512F \ + && (ix86_move_max == PVW_AVX512 \ + || ix86_store_max == PVW_AVX512)) \ + ? 64 \ + : ((TARGET_AVX \ + && (ix86_move_max >= PVW_AVX256 \ + || ix86_store_max >= PVW_AVX256)) \ + ? 32 \ + : ((TARGET_SSE2 \ + && TARGET_SSE_UNALIGNED_LOAD_OPTIMAL \ + && TARGET_SSE_UNALIGNED_STORE_OPTIMAL) \ + ? 16 : UNITS_PER_WORD))) + +/* STORE_MAX_PIECES is the number of bytes at a time that we can store + efficiently. Allow 16/32/64 bytes only if inter-unit move is enabled + since vec_duplicate enabled by inter-unit move is used to implement + store_by_pieces of 16/32/64 bytes. */ +#define STORE_MAX_PIECES \ + (TARGET_INTER_UNIT_MOVES_TO_VEC \ + ? ((TARGET_AVX512F && ix86_store_max == PVW_AVX512) \ + ? 64 \ + : ((TARGET_AVX \ + && ix86_store_max >= PVW_AVX256) \ + ? 32 \ + : ((TARGET_SSE2 \ + && TARGET_SSE_UNALIGNED_STORE_OPTIMAL) \ + ? 16 : UNITS_PER_WORD))) \ + : UNITS_PER_WORD) + +/* If a memory-to-memory move would take MOVE_RATIO or more simple + move-instruction pairs, we will do a cpymem or libcall instead. + Increasing the value will always make code faster, but eventually + incurs high cost in increased code size. + + If you don't define this, a reasonable default is used. */ + +#define MOVE_RATIO(speed) ((speed) ? ix86_cost->move_ratio : 3) + +/* If a clear memory operation would take CLEAR_RATIO or more simple + move-instruction sequences, we will do a clrmem or libcall instead. */ + +#define CLEAR_RATIO(speed) ((speed) ? ix86_cost->clear_ratio : 2) + +/* Define if shifts truncate the shift count which implies one can + omit a sign-extension or zero-extension of a shift count. + + On i386, shifts do truncate the count. But bit test instructions + take the modulo of the bit offset operand. */ + +/* #define SHIFT_COUNT_TRUNCATED */ + +/* A macro to update M and UNSIGNEDP when an object whose type is + TYPE and which has the specified mode and signedness is to be + stored in a register. This macro is only called when TYPE is a + scalar type. + + On i386 it is sometimes useful to promote HImode and QImode + quantities to SImode. The choice depends on target type. */ + +#define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \ +do { \ + if (((MODE) == HImode && TARGET_PROMOTE_HI_REGS) \ + || ((MODE) == QImode && TARGET_PROMOTE_QI_REGS)) \ + (MODE) = SImode; \ +} while (0) + +/* Specify the machine mode that pointers have. + After generation of rtl, the compiler makes no further distinction + between pointers and any other objects of this machine mode. */ +#define Pmode (ix86_pmode == PMODE_DI ? DImode : SImode) + +/* Supply a definition of STACK_SAVEAREA_MODE for emit_stack_save. + NONLOCAL needs space to save both shadow stack and stack pointers. + + FIXME: We only need to save and restore stack pointer in ptr_mode. + But expand_builtin_setjmp_setup and expand_builtin_longjmp use Pmode + to save and restore stack pointer. See + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84150 + */ +#define STACK_SAVEAREA_MODE(LEVEL) \ + ((LEVEL) == SAVE_NONLOCAL ? (TARGET_64BIT ? TImode : DImode) : Pmode) + +/* Specify the machine_mode of the size increment + operand of an 'allocate_stack' named pattern. */ +#define STACK_SIZE_MODE Pmode + +/* A C expression whose value is zero if pointers that need to be extended + from being `POINTER_SIZE' bits wide to `Pmode' are sign-extended and + greater then zero if they are zero-extended and less then zero if the + ptr_extend instruction should be used. */ + +#define POINTERS_EXTEND_UNSIGNED 1 + +/* A function address in a call instruction + is a byte address (for indexing purposes) + so give the MEM rtx a byte's mode. */ +#define FUNCTION_MODE QImode + + +/* A C expression for the cost of a branch instruction. A value of 1 + is the default; other values are interpreted relative to that. */ + +#define BRANCH_COST(speed_p, predictable_p) \ + (!(speed_p) ? 2 : (predictable_p) ? 0 : ix86_branch_cost) + +/* An integer expression for the size in bits of the largest integer machine + mode that should actually be used. We allow pairs of registers. */ +#define MAX_FIXED_MODE_SIZE GET_MODE_BITSIZE (TARGET_64BIT ? TImode : DImode) + +/* Define this macro as a C expression which is nonzero if accessing + less than a word of memory (i.e. a `char' or a `short') is no + faster than accessing a word of memory, i.e., if such access + require more than one instruction or if there is no difference in + cost between byte and (aligned) word loads. + + When this macro is not defined, the compiler will access a field by + finding the smallest containing object; when it is defined, a + fullword load will be used if alignment permits. Unless bytes + accesses are faster than word accesses, using word accesses is + preferable since it may eliminate subsequent memory access if + subsequent accesses occur to other fields in the same word of the + structure, but to different bytes. */ + +#define SLOW_BYTE_ACCESS 0 + +/* Define this macro if it is as good or better to call a constant + function address than to call an address kept in a register. + + Desirable on the 386 because a CALL with a constant address is + faster than one with a register address. */ + +#define NO_FUNCTION_CSE 1 + +/* Given a comparison code (EQ, NE, etc.) and the first operand of a COMPARE, + return the mode to be used for the comparison. + + For floating-point equality comparisons, CCFPEQmode should be used. + VOIDmode should be used in all other cases. + + For integer comparisons against zero, reduce to CCNOmode or CCZmode if + possible, to allow for more combinations. */ + +#define SELECT_CC_MODE(OP, X, Y) ix86_cc_mode ((OP), (X), (Y)) + +/* Return nonzero if MODE implies a floating point inequality can be + reversed. */ + +#define REVERSIBLE_CC_MODE(MODE) 1 + +/* A C expression whose value is reversed condition code of the CODE for + comparison done in CC_MODE mode. */ +#define REVERSE_CONDITION(CODE, MODE) ix86_reverse_condition ((CODE), (MODE)) + + +/* Control the assembler format that we output, to the extent + this does not vary between assemblers. */ + +/* How to refer to registers in assembler output. + This sequence is indexed by compiler's hard-register-number (see above). */ + +/* In order to refer to the first 8 regs as 32-bit regs, prefix an "e". + For non floating point regs, the following are the HImode names. + + For float regs, the stack top is sometimes referred to as "%st(0)" + instead of just "%st". TARGET_PRINT_OPERAND handles this with the + "y" code. */ + +#define HI_REGISTER_NAMES \ +{"ax","dx","cx","bx","si","di","bp","sp", \ + "st","st(1)","st(2)","st(3)","st(4)","st(5)","st(6)","st(7)", \ + "argp", "flags", "fpsr", "frame", \ + "xmm0","xmm1","xmm2","xmm3","xmm4","xmm5","xmm6","xmm7", \ + "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7", \ + "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", \ + "xmm8", "xmm9", "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15", \ + "xmm16", "xmm17", "xmm18", "xmm19", \ + "xmm20", "xmm21", "xmm22", "xmm23", \ + "xmm24", "xmm25", "xmm26", "xmm27", \ + "xmm28", "xmm29", "xmm30", "xmm31", \ + "k0", "k1", "k2", "k3", "k4", "k5", "k6", "k7" } + +#define REGISTER_NAMES HI_REGISTER_NAMES + +#define QI_REGISTER_NAMES \ +{"al", "dl", "cl", "bl", "sil", "dil", "bpl", "spl"} + +#define QI_HIGH_REGISTER_NAMES \ +{"ah", "dh", "ch", "bh"} + +/* Table of additional register names to use in user input. */ + +#define ADDITIONAL_REGISTER_NAMES \ +{ \ + { "eax", AX_REG }, { "edx", DX_REG }, { "ecx", CX_REG }, { "ebx", BX_REG }, \ + { "esi", SI_REG }, { "edi", DI_REG }, { "ebp", BP_REG }, { "esp", SP_REG }, \ + { "rax", AX_REG }, { "rdx", DX_REG }, { "rcx", CX_REG }, { "rbx", BX_REG }, \ + { "rsi", SI_REG }, { "rdi", DI_REG }, { "rbp", BP_REG }, { "rsp", SP_REG }, \ + { "al", AX_REG }, { "dl", DX_REG }, { "cl", CX_REG }, { "bl", BX_REG }, \ + { "sil", SI_REG }, { "dil", DI_REG }, { "bpl", BP_REG }, { "spl", SP_REG }, \ + { "ah", AX_REG }, { "dh", DX_REG }, { "ch", CX_REG }, { "bh", BX_REG }, \ + { "ymm0", XMM0_REG }, { "ymm1", XMM1_REG }, { "ymm2", XMM2_REG }, { "ymm3", XMM3_REG }, \ + { "ymm4", XMM4_REG }, { "ymm5", XMM5_REG }, { "ymm6", XMM6_REG }, { "ymm7", XMM7_REG }, \ + { "ymm8", XMM8_REG }, { "ymm9", XMM9_REG }, { "ymm10", XMM10_REG }, { "ymm11", XMM11_REG }, \ + { "ymm12", XMM12_REG }, { "ymm13", XMM13_REG }, { "ymm14", XMM14_REG }, { "ymm15", XMM15_REG }, \ + { "ymm16", XMM16_REG }, { "ymm17", XMM17_REG }, { "ymm18", XMM18_REG }, { "ymm19", XMM19_REG }, \ + { "ymm20", XMM20_REG }, { "ymm21", XMM21_REG }, { "ymm22", XMM22_REG }, { "ymm23", XMM23_REG }, \ + { "ymm24", XMM24_REG }, { "ymm25", XMM25_REG }, { "ymm26", XMM26_REG }, { "ymm27", XMM27_REG }, \ + { "ymm28", XMM28_REG }, { "ymm29", XMM29_REG }, { "ymm30", XMM30_REG }, { "ymm31", XMM31_REG }, \ + { "zmm0", XMM0_REG }, { "zmm1", XMM1_REG }, { "zmm2", XMM2_REG }, { "zmm3", XMM3_REG }, \ + { "zmm4", XMM4_REG }, { "zmm5", XMM5_REG }, { "zmm6", XMM6_REG }, { "zmm7", XMM7_REG }, \ + { "zmm8", XMM8_REG }, { "zmm9", XMM9_REG }, { "zmm10", XMM10_REG }, { "zmm11", XMM11_REG }, \ + { "zmm12", XMM12_REG }, { "zmm13", XMM13_REG }, { "zmm14", XMM14_REG }, { "zmm15", XMM15_REG }, \ + { "zmm16", XMM16_REG }, { "zmm17", XMM17_REG }, { "zmm18", XMM18_REG }, { "zmm19", XMM19_REG }, \ + { "zmm20", XMM20_REG }, { "zmm21", XMM21_REG }, { "zmm22", XMM22_REG }, { "zmm23", XMM23_REG }, \ + { "zmm24", XMM24_REG }, { "zmm25", XMM25_REG }, { "zmm26", XMM26_REG }, { "zmm27", XMM27_REG }, \ + { "zmm28", XMM28_REG }, { "zmm29", XMM29_REG }, { "zmm30", XMM30_REG }, { "zmm31", XMM31_REG } \ +} + +/* How to renumber registers for gdb. */ + +#define DEBUGGER_REGNO(N) \ + (TARGET_64BIT ? debugger64_register_map[(N)] : debugger_register_map[(N)]) + +extern int const debugger_register_map[FIRST_PSEUDO_REGISTER]; +extern int const debugger64_register_map[FIRST_PSEUDO_REGISTER]; +extern int const svr4_debugger_register_map[FIRST_PSEUDO_REGISTER]; + +/* Before the prologue, RA is at 0(%esp). */ +#define INCOMING_RETURN_ADDR_RTX \ + gen_rtx_MEM (Pmode, stack_pointer_rtx) + +/* 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))) + +/* PC is dbx register 8; let's use that column for RA. */ +#define DWARF_FRAME_RETURN_COLUMN (TARGET_64BIT ? 16 : 8) + +/* Before the prologue, there are return address and error code for + exception handler on the top of the frame. */ +#define INCOMING_FRAME_SP_OFFSET \ + (cfun->machine->func_type == TYPE_EXCEPTION \ + ? 2 * UNITS_PER_WORD : UNITS_PER_WORD) + +/* The value of INCOMING_FRAME_SP_OFFSET the assembler assumes in + .cfi_startproc. */ +#define DEFAULT_INCOMING_FRAME_SP_OFFSET UNITS_PER_WORD + +/* Describe how we implement __builtin_eh_return. */ +#define EH_RETURN_DATA_REGNO(N) ((N) <= DX_REG ? (N) : INVALID_REGNUM) +#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, CX_REG) + + +/* 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. + + ??? All x86 object file formats are capable of representing this. + After all, the relocation needed is the same as for the call insn. + Whether or not a particular assembler allows us to enter such, I + guess we'll have to see. */ +#define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \ + asm_preferred_eh_data_format ((CODE), (GLOBAL)) + +/* These are a couple of extensions to the formats accepted + by asm_fprintf: + %z prints out opcode suffix for word-mode instruction + %r prints out word-mode name for reg_names[arg] */ +#define ASM_FPRINTF_EXTENSIONS(FILE, ARGS, P) \ + case 'z': \ + fputc (TARGET_64BIT ? 'q' : 'l', (FILE)); \ + break; \ + \ + case 'r': \ + { \ + unsigned int regno = va_arg ((ARGS), int); \ + if (LEGACY_INT_REGNO_P (regno)) \ + fputc (TARGET_64BIT ? 'r' : 'e', (FILE)); \ + fputs (reg_names[regno], (FILE)); \ + break; \ + } + +/* This is how to output an insn to push a register on the stack. */ + +#define ASM_OUTPUT_REG_PUSH(FILE, REGNO) \ + asm_fprintf ((FILE), "\tpush%z\t%%%r\n", (REGNO)) + +/* This is how to output an insn to pop a register from the stack. */ + +#define ASM_OUTPUT_REG_POP(FILE, REGNO) \ + asm_fprintf ((FILE), "\tpop%z\t%%%r\n", (REGNO)) + +/* This is how to output an element of a case-vector that is absolute. */ + +#define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \ + ix86_output_addr_vec_elt ((FILE), (VALUE)) + +/* This is how to output an element of a case-vector that is relative. */ + +#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \ + ix86_output_addr_diff_elt ((FILE), (VALUE), (REL)) + +/* When we see %v, we will print the 'v' prefix if TARGET_AVX is true. */ + +#define ASM_OUTPUT_AVX_PREFIX(STREAM, PTR) \ +{ \ + if ((PTR)[0] == '%' && (PTR)[1] == 'v') \ + (PTR) += TARGET_AVX ? 1 : 2; \ +} + +/* A C statement or statements which output an assembler instruction + opcode to the stdio stream STREAM. The macro-operand PTR is a + variable of type `char *' which points to the opcode name in + its "internal" form--the form that is written in the machine + description. */ + +#define ASM_OUTPUT_OPCODE(STREAM, PTR) \ + ASM_OUTPUT_AVX_PREFIX ((STREAM), (PTR)) + +/* A C statement to output to the stdio stream FILE an assembler + command to pad the location counter to a multiple of 1<= (1 << (LOG)) - 1) \ + fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ + else \ + fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ + } \ + } while (0) +#endif + +/* Write the extra assembler code needed to declare a function + properly. */ + +#undef ASM_OUTPUT_FUNCTION_LABEL +#define ASM_OUTPUT_FUNCTION_LABEL(FILE, NAME, DECL) \ + ix86_asm_output_function_label ((FILE), (NAME), (DECL)) + +/* A C statement (sans semicolon) to output a reference to SYMBOL_REF SYM. + If not defined, assemble_name will be used to output the name of the + symbol. This macro may be used to modify the way a symbol is referenced + depending on information encoded by TARGET_ENCODE_SECTION_INFO. */ + +#ifndef ASM_OUTPUT_SYMBOL_REF +#define ASM_OUTPUT_SYMBOL_REF(FILE, SYM) \ + do { \ + const char *name \ + = assemble_name_resolve (XSTR (x, 0)); \ + /* In -masm=att wrap identifiers that start with $ \ + into parens. */ \ + if (ASSEMBLER_DIALECT == ASM_ATT \ + && name[0] == '$' \ + && user_label_prefix[0] == '\0') \ + { \ + fputc ('(', (FILE)); \ + assemble_name_raw ((FILE), name); \ + fputc (')', (FILE)); \ + } \ + else \ + assemble_name_raw ((FILE), name); \ + } while (0) +#endif + +/* Under some conditions we need jump tables in the text section, + because the assembler cannot handle label differences between + sections. */ + +#define JUMP_TABLES_IN_TEXT_SECTION \ + (flag_pic && !(TARGET_64BIT || HAVE_AS_GOTOFF_IN_DATA)) + +/* Switch to init or fini section via SECTION_OP, emit a call to FUNC, + and switch back. For x86 we do this only to save a few bytes that + would otherwise be unused in the text section. */ +#define CRT_MKSTR2(VAL) #VAL +#define CRT_MKSTR(x) CRT_MKSTR2(x) + +#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \ + asm (SECTION_OP "\n\t" \ + "call " CRT_MKSTR(__USER_LABEL_PREFIX__) #FUNC "\n" \ + TEXT_SECTION_ASM_OP); + +/* Default threshold for putting data in large sections + with x86-64 medium memory model */ +#define DEFAULT_LARGE_SECTION_THRESHOLD 65536 + +/* Which processor to tune code generation for. These must be in sync + with processor_cost_table in i386-options.cc. */ + +enum processor_type +{ + PROCESSOR_GENERIC = 0, + PROCESSOR_I386, /* 80386 */ + PROCESSOR_I486, /* 80486DX, 80486SX, 80486DX[24] */ + PROCESSOR_PENTIUM, + PROCESSOR_LAKEMONT, + PROCESSOR_PENTIUMPRO, + PROCESSOR_PENTIUM4, + PROCESSOR_NOCONA, + PROCESSOR_CORE2, + PROCESSOR_NEHALEM, + PROCESSOR_SANDYBRIDGE, + PROCESSOR_HASWELL, + PROCESSOR_BONNELL, + PROCESSOR_SILVERMONT, + PROCESSOR_GOLDMONT, + PROCESSOR_GOLDMONT_PLUS, + PROCESSOR_TREMONT, + PROCESSOR_SIERRAFOREST, + PROCESSOR_GRANDRIDGE, + PROCESSOR_KNL, + PROCESSOR_KNM, + PROCESSOR_SKYLAKE, + PROCESSOR_SKYLAKE_AVX512, + PROCESSOR_CANNONLAKE, + PROCESSOR_ICELAKE_CLIENT, + PROCESSOR_ICELAKE_SERVER, + PROCESSOR_CASCADELAKE, + PROCESSOR_TIGERLAKE, + PROCESSOR_COOPERLAKE, + PROCESSOR_SAPPHIRERAPIDS, + PROCESSOR_ALDERLAKE, + PROCESSOR_ROCKETLAKE, + PROCESSOR_GRANITERAPIDS, + PROCESSOR_GRANITERAPIDS_D, + PROCESSOR_INTEL, + PROCESSOR_LUJIAZUI, + PROCESSOR_GEODE, + PROCESSOR_K6, + PROCESSOR_ATHLON, + PROCESSOR_K8, + PROCESSOR_AMDFAM10, + PROCESSOR_BDVER1, + PROCESSOR_BDVER2, + PROCESSOR_BDVER3, + PROCESSOR_BDVER4, + PROCESSOR_BTVER1, + PROCESSOR_BTVER2, + PROCESSOR_ZNVER1, + PROCESSOR_ZNVER2, + PROCESSOR_ZNVER3, + PROCESSOR_ZNVER4, + PROCESSOR_max +}; + +#if !defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS) +extern const char *const processor_names[]; + +#include "wide-int-bitmask.h" + +enum pta_flag +{ +#define DEF_PTA(NAME) _ ## NAME, +#include "i386-isa.def" +#undef DEF_PTA + END_PTA +}; + +/* wide_int_bitmask can handle only 128 flags. */ +STATIC_ASSERT (END_PTA <= 128); + +#define WIDE_INT_BITMASK_FROM_NTH(N) (N < 64 ? wide_int_bitmask (0, 1ULL << N) \ + : wide_int_bitmask (1ULL << (N - 64), 0)) + +#define DEF_PTA(NAME) constexpr wide_int_bitmask PTA_ ## NAME \ + = WIDE_INT_BITMASK_FROM_NTH ((pta_flag) _ ## NAME); +#include "i386-isa.def" +#undef DEF_PTA + +constexpr wide_int_bitmask PTA_X86_64_BASELINE = PTA_64BIT | PTA_MMX | PTA_SSE + | PTA_SSE2 | PTA_NO_SAHF | PTA_FXSR; +constexpr wide_int_bitmask PTA_X86_64_V2 = (PTA_X86_64_BASELINE + & (~PTA_NO_SAHF)) + | PTA_CX16 | PTA_POPCNT | PTA_SSE3 | PTA_SSE4_1 | PTA_SSE4_2 | PTA_SSSE3; +constexpr wide_int_bitmask PTA_X86_64_V3 = PTA_X86_64_V2 + | PTA_AVX | PTA_AVX2 | PTA_BMI | PTA_BMI2 | PTA_F16C | PTA_FMA | PTA_LZCNT + | PTA_MOVBE | PTA_XSAVE; +constexpr wide_int_bitmask PTA_X86_64_V4 = PTA_X86_64_V3 + | PTA_AVX512F | PTA_AVX512BW | PTA_AVX512CD | PTA_AVX512DQ | PTA_AVX512VL; + +constexpr wide_int_bitmask PTA_CORE2 = PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 + | PTA_SSE3 | PTA_SSSE3 | PTA_CX16 | PTA_FXSR; +constexpr wide_int_bitmask PTA_NEHALEM = PTA_CORE2 | PTA_SSE4_1 | PTA_SSE4_2 + | PTA_POPCNT; +constexpr wide_int_bitmask PTA_WESTMERE = PTA_NEHALEM | PTA_PCLMUL; +constexpr wide_int_bitmask PTA_SANDYBRIDGE = PTA_WESTMERE | PTA_AVX | PTA_XSAVE + | PTA_XSAVEOPT; +constexpr wide_int_bitmask PTA_IVYBRIDGE = PTA_SANDYBRIDGE | PTA_FSGSBASE + | PTA_RDRND | PTA_F16C; +constexpr wide_int_bitmask PTA_HASWELL = PTA_IVYBRIDGE | PTA_AVX2 | PTA_BMI + | PTA_BMI2 | PTA_LZCNT | PTA_FMA | PTA_MOVBE | PTA_HLE; +constexpr wide_int_bitmask PTA_BROADWELL = PTA_HASWELL | PTA_ADX | PTA_RDSEED + | PTA_PRFCHW; +constexpr wide_int_bitmask PTA_SKYLAKE = PTA_BROADWELL | PTA_AES + | PTA_CLFLUSHOPT | PTA_XSAVEC | PTA_XSAVES | PTA_SGX; +constexpr wide_int_bitmask PTA_SKYLAKE_AVX512 = PTA_SKYLAKE | PTA_AVX512F + | PTA_AVX512CD | PTA_AVX512VL | PTA_AVX512BW | PTA_AVX512DQ | PTA_PKU + | PTA_CLWB; +constexpr wide_int_bitmask PTA_CASCADELAKE = PTA_SKYLAKE_AVX512 + | PTA_AVX512VNNI; +constexpr wide_int_bitmask PTA_COOPERLAKE = PTA_CASCADELAKE | PTA_AVX512BF16; +constexpr wide_int_bitmask PTA_CANNONLAKE = PTA_SKYLAKE | PTA_AVX512F + | PTA_AVX512CD | PTA_AVX512VL | PTA_AVX512BW | PTA_AVX512DQ | PTA_PKU + | PTA_AVX512VBMI | PTA_AVX512IFMA | PTA_SHA; +constexpr wide_int_bitmask PTA_ICELAKE_CLIENT = PTA_CANNONLAKE | PTA_AVX512VNNI + | PTA_GFNI | PTA_VAES | PTA_AVX512VBMI2 | PTA_VPCLMULQDQ | PTA_AVX512BITALG + | PTA_RDPID | PTA_AVX512VPOPCNTDQ; +constexpr wide_int_bitmask PTA_ROCKETLAKE = PTA_ICELAKE_CLIENT & ~PTA_SGX; +constexpr wide_int_bitmask PTA_ICELAKE_SERVER = PTA_ICELAKE_CLIENT + | PTA_PCONFIG | PTA_WBNOINVD | PTA_CLWB; +constexpr wide_int_bitmask PTA_TIGERLAKE = PTA_ICELAKE_CLIENT | PTA_MOVDIRI + | PTA_MOVDIR64B | PTA_CLWB | PTA_AVX512VP2INTERSECT | PTA_KL | PTA_WIDEKL; +constexpr wide_int_bitmask PTA_SAPPHIRERAPIDS = PTA_ICELAKE_SERVER | PTA_MOVDIRI + | PTA_MOVDIR64B | PTA_ENQCMD | PTA_CLDEMOTE | PTA_PTWRITE | PTA_WAITPKG + | PTA_SERIALIZE | PTA_TSXLDTRK | PTA_AMX_TILE | PTA_AMX_INT8 | PTA_AMX_BF16 + | PTA_UINTR | PTA_AVXVNNI | PTA_AVX512FP16 | PTA_AVX512BF16; +constexpr wide_int_bitmask PTA_KNL = PTA_BROADWELL | PTA_AVX512PF + | PTA_AVX512ER | PTA_AVX512F | PTA_AVX512CD | PTA_PREFETCHWT1; +constexpr wide_int_bitmask PTA_BONNELL = PTA_CORE2 | PTA_MOVBE; +constexpr wide_int_bitmask PTA_SILVERMONT = PTA_WESTMERE | PTA_MOVBE + | PTA_RDRND | PTA_PRFCHW; +constexpr wide_int_bitmask PTA_GOLDMONT = PTA_SILVERMONT | PTA_AES | PTA_SHA + | PTA_XSAVE | PTA_RDSEED | PTA_XSAVEC | PTA_XSAVES | PTA_CLFLUSHOPT + | PTA_XSAVEOPT | PTA_FSGSBASE; +constexpr wide_int_bitmask PTA_GOLDMONT_PLUS = PTA_GOLDMONT | PTA_RDPID + | PTA_SGX | PTA_PTWRITE; +constexpr wide_int_bitmask PTA_TREMONT = PTA_GOLDMONT_PLUS | PTA_CLWB + | PTA_GFNI | PTA_MOVDIRI | PTA_MOVDIR64B | PTA_CLDEMOTE | PTA_WAITPKG; +constexpr wide_int_bitmask PTA_ALDERLAKE = PTA_TREMONT | PTA_ADX | PTA_AVX + | PTA_AVX2 | PTA_BMI | PTA_BMI2 | PTA_F16C | PTA_FMA | PTA_LZCNT + | PTA_PCONFIG | PTA_PKU | PTA_VAES | PTA_VPCLMULQDQ | PTA_SERIALIZE + | PTA_HRESET | PTA_KL | PTA_WIDEKL | PTA_AVXVNNI; +constexpr wide_int_bitmask PTA_SIERRAFOREST = PTA_ALDERLAKE | PTA_AVXIFMA + | PTA_AVXVNNIINT8 | PTA_AVXNECONVERT | PTA_CMPCCXADD | PTA_ENQCMD | PTA_UINTR; +constexpr wide_int_bitmask PTA_GRANITERAPIDS = PTA_SAPPHIRERAPIDS | PTA_AMX_FP16 + | PTA_PREFETCHI; +constexpr wide_int_bitmask PTA_GRANITERAPIDS_D = PTA_GRANITERAPIDS + | PTA_AMX_COMPLEX; +constexpr wide_int_bitmask PTA_GRANDRIDGE = PTA_SIERRAFOREST; +constexpr wide_int_bitmask PTA_KNM = PTA_KNL | PTA_AVX5124VNNIW + | PTA_AVX5124FMAPS | PTA_AVX512VPOPCNTDQ; +constexpr wide_int_bitmask PTA_ZNVER1 = PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 + | PTA_SSE3 | PTA_SSE4A | PTA_CX16 | PTA_ABM | PTA_SSSE3 | PTA_SSE4_1 + | PTA_SSE4_2 | PTA_AES | PTA_PCLMUL | PTA_AVX | PTA_AVX2 | PTA_BMI | PTA_BMI2 + | PTA_F16C | PTA_FMA | PTA_PRFCHW | PTA_FXSR | PTA_XSAVE | PTA_XSAVEOPT + | PTA_FSGSBASE | PTA_RDRND | PTA_MOVBE | PTA_MWAITX | PTA_ADX | PTA_RDSEED + | PTA_CLZERO | PTA_CLFLUSHOPT | PTA_XSAVEC | PTA_XSAVES | PTA_SHA | PTA_LZCNT + | PTA_POPCNT; +constexpr wide_int_bitmask PTA_ZNVER2 = PTA_ZNVER1 | PTA_CLWB | PTA_RDPID + | PTA_WBNOINVD; +constexpr wide_int_bitmask PTA_ZNVER3 = PTA_ZNVER2 | PTA_VAES | PTA_VPCLMULQDQ + | PTA_PKU; +constexpr wide_int_bitmask PTA_ZNVER4 = PTA_ZNVER3 | PTA_AVX512F | PTA_AVX512DQ + | PTA_AVX512IFMA | PTA_AVX512CD | PTA_AVX512BW | PTA_AVX512VL + | PTA_AVX512BF16 | PTA_AVX512VBMI | PTA_AVX512VBMI2 | PTA_GFNI + | PTA_AVX512VNNI | PTA_AVX512BITALG | PTA_AVX512VPOPCNTDQ; + +#ifndef GENERATOR_FILE + +#include "insn-attr-common.h" + +#include "common/config/i386/i386-cpuinfo.h" + +class pta +{ +public: + const char *const name; /* processor name or nickname. */ + const enum processor_type processor; + const enum attr_cpu schedule; + const wide_int_bitmask flags; + const int model; + const enum feature_priority priority; +}; + +extern const pta processor_alias_table[]; +extern unsigned int const pta_size; +extern unsigned int const num_arch_names; +#endif + +#endif + +extern enum processor_type ix86_tune; +extern enum processor_type ix86_arch; + +/* Size of the RED_ZONE area. */ +#define RED_ZONE_SIZE 128 +/* Reserved area of the red zone for temporaries. */ +#define RED_ZONE_RESERVE 8 + +extern unsigned int ix86_preferred_stack_boundary; +extern unsigned int ix86_incoming_stack_boundary; + +/* Smallest class containing REGNO. */ +extern enum reg_class const regclass_map[FIRST_PSEUDO_REGISTER]; + +enum ix86_fpcmp_strategy { + IX86_FPCMP_SAHF, + IX86_FPCMP_COMI, + IX86_FPCMP_ARITH +}; + +/* To properly truncate FP values into integers, we need to set i387 control + word. We can't emit proper mode switching code before reload, as spills + generated by reload may truncate values incorrectly, but we still can avoid + redundant computation of new control word by the mode switching pass. + The fldcw instructions are still emitted redundantly, but this is probably + not going to be noticeable problem, as most CPUs do have fast path for + the sequence. + + The machinery is to emit simple truncation instructions and split them + before reload to instructions having USEs of two memory locations that + are filled by this code to old and new control word. + + Post-reload pass may be later used to eliminate the redundant fildcw if + needed. */ + +enum ix86_stack_slot +{ + SLOT_TEMP = 0, + SLOT_CW_STORED, + SLOT_CW_ROUNDEVEN, + SLOT_CW_TRUNC, + SLOT_CW_FLOOR, + SLOT_CW_CEIL, + SLOT_STV_TEMP, + SLOT_FLOATxFDI_387, + MAX_386_STACK_LOCALS +}; + +enum ix86_entity +{ + X86_DIRFLAG = 0, + AVX_U128, + I387_ROUNDEVEN, + I387_TRUNC, + I387_FLOOR, + I387_CEIL, + MAX_386_ENTITIES +}; + +enum x86_dirflag_state +{ + X86_DIRFLAG_RESET, + X86_DIRFLAG_ANY +}; + +enum avx_u128_state +{ + AVX_U128_CLEAN, + AVX_U128_DIRTY, + AVX_U128_ANY +}; + +/* Define this macro if the port needs extra instructions inserted + for mode switching in an optimizing compilation. */ + +#define OPTIMIZE_MODE_SWITCHING(ENTITY) \ + ix86_optimize_mode_switching[(ENTITY)] + +/* If you define `OPTIMIZE_MODE_SWITCHING', you have to define this as + initializer for an array of integers. Each initializer element N + refers to an entity that needs mode switching, and specifies the + number of different modes that might need to be set for this + entity. The position of the initializer in the initializer - + starting counting at zero - determines the integer that is used to + refer to the mode-switched entity in question. */ + +#define NUM_MODES_FOR_MODE_SWITCHING \ + { X86_DIRFLAG_ANY, AVX_U128_ANY, \ + I387_CW_ANY, I387_CW_ANY, I387_CW_ANY, I387_CW_ANY } + + +/* Avoid renaming of stack registers, as doing so in combination with + scheduling just increases amount of live registers at time and in + the turn amount of fxch instructions needed. + + ??? Maybe Pentium chips benefits from renaming, someone can try.... + + Don't rename evex to non-evex sse registers. */ + +#define HARD_REGNO_RENAME_OK(SRC, TARGET) \ + (!STACK_REGNO_P (SRC) \ + && EXT_REX_SSE_REGNO_P (SRC) == EXT_REX_SSE_REGNO_P (TARGET)) + + +#define FASTCALL_PREFIX '@' + +#ifndef USED_FOR_TARGET +/* Structure describing stack frame layout. + Stack grows downward: + + [arguments] + <- ARG_POINTER + saved pc + + saved static chain if ix86_static_chain_on_stack + + saved frame pointer if frame_pointer_needed + <- HARD_FRAME_POINTER + [saved regs] + <- reg_save_offset + [padding0] + <- stack_realign_offset + [saved SSE regs] + OR + [stub-saved registers for ms x64 --> sysv clobbers + <- Start of out-of-line, stub-saved/restored regs + (see libgcc/config/i386/(sav|res)ms64*.S) + [XMM6-15] + [RSI] + [RDI] + [?RBX] only if RBX is clobbered + [?RBP] only if RBP and RBX are clobbered + [?R12] only if R12 and all previous regs are clobbered + [?R13] only if R13 and all previous regs are clobbered + [?R14] only if R14 and all previous regs are clobbered + [?R15] only if R15 and all previous regs are clobbered + <- end of stub-saved/restored regs + [padding1] + ] + <- sse_reg_save_offset + [padding2] + | <- FRAME_POINTER + [va_arg registers] | + | + [frame] | + | + [padding2] | = to_allocate + <- STACK_POINTER + */ +struct GTY(()) ix86_frame +{ + int nsseregs; + int nregs; + int va_arg_size; + int red_zone_size; + int outgoing_arguments_size; + + /* The offsets relative to ARG_POINTER. */ + HOST_WIDE_INT frame_pointer_offset; + HOST_WIDE_INT hard_frame_pointer_offset; + HOST_WIDE_INT stack_pointer_offset; + HOST_WIDE_INT hfp_save_offset; + HOST_WIDE_INT reg_save_offset; + HOST_WIDE_INT stack_realign_allocate; + HOST_WIDE_INT stack_realign_offset; + HOST_WIDE_INT sse_reg_save_offset; + + /* When save_regs_using_mov is set, emit prologue using + move instead of push instructions. */ + bool save_regs_using_mov; + + /* Assume without checking that: + EXPENSIVE_P = expensive_function_p (EXPENSIVE_COUNT). */ + bool expensive_p; + int expensive_count; +}; + +/* Machine specific frame tracking during prologue/epilogue generation. All + values are positive, but since the x86 stack grows downward, are subtratced + from the CFA to produce a valid address. */ + +struct GTY(()) machine_frame_state +{ + /* This pair tracks the currently active CFA as reg+offset. When reg + is drap_reg, we don't bother trying to record here the real CFA when + it might really be a DW_CFA_def_cfa_expression. */ + rtx cfa_reg; + HOST_WIDE_INT cfa_offset; + + /* The current offset (canonically from the CFA) of ESP and EBP. + When stack frame re-alignment is active, these may not be relative + to the CFA. However, in all cases they are relative to the offsets + of the saved registers stored in ix86_frame. */ + HOST_WIDE_INT sp_offset; + HOST_WIDE_INT fp_offset; + + /* The size of the red-zone that may be assumed for the purposes of + eliding register restore notes in the epilogue. This may be zero + if no red-zone is in effect, or may be reduced from the real + red-zone value by a maximum runtime stack re-alignment value. */ + int red_zone_offset; + + /* Indicate whether each of ESP, EBP or DRAP currently holds a valid + value within the frame. If false then the offset above should be + ignored. Note that DRAP, if valid, *always* points to the CFA and + thus has an offset of zero. */ + BOOL_BITFIELD sp_valid : 1; + BOOL_BITFIELD fp_valid : 1; + BOOL_BITFIELD drap_valid : 1; + + /* Indicate whether the local stack frame has been re-aligned. When + set, the SP/FP offsets above are relative to the aligned frame + and not the CFA. */ + BOOL_BITFIELD realigned : 1; + + /* Indicates whether the stack pointer has been re-aligned. When set, + SP/FP continue to be relative to the CFA, but the stack pointer + should only be used for offsets > sp_realigned_offset, while + the frame pointer should be used for offsets <= sp_realigned_fp_last. + The flags realigned and sp_realigned are mutually exclusive. */ + BOOL_BITFIELD sp_realigned : 1; + + /* If sp_realigned is set, this is the last valid offset from the CFA + that can be used for access with the frame pointer. */ + HOST_WIDE_INT sp_realigned_fp_last; + + /* If sp_realigned is set, this is the offset from the CFA that the stack + pointer was realigned, and may or may not be equal to sp_realigned_fp_last. + Access via the stack pointer is only valid for offsets that are greater than + this value. */ + HOST_WIDE_INT sp_realigned_offset; +}; + +/* Private to winnt.cc. */ +struct seh_frame_state; + +enum function_type +{ + TYPE_UNKNOWN = 0, + TYPE_NORMAL, + /* The current function is an interrupt service routine with a + pointer argument as specified by the "interrupt" attribute. */ + TYPE_INTERRUPT, + /* The current function is an interrupt service routine with a + pointer argument and an integer argument as specified by the + "interrupt" attribute. */ + TYPE_EXCEPTION +}; + +enum queued_insn_type +{ + TYPE_NONE = 0, + TYPE_ENDBR, + TYPE_PATCHABLE_AREA +}; + +struct GTY(()) machine_function { + struct stack_local_entry *stack_locals; + int varargs_gpr_size; + int varargs_fpr_size; + int optimize_mode_switching[MAX_386_ENTITIES]; + + /* Cached initial frame layout for the current function. */ + struct ix86_frame frame; + + /* For -fsplit-stack support: A stack local which holds a pointer to + the stack arguments for a function with a variable number of + arguments. This is set at the start of the function and is used + to initialize the overflow_arg_area field of the va_list + structure. */ + rtx split_stack_varargs_pointer; + + /* This value is used for amd64 targets and specifies the current abi + to be used. MS_ABI means ms abi. Otherwise SYSV_ABI means sysv abi. */ + ENUM_BITFIELD(calling_abi) call_abi : 8; + + /* Nonzero if the function accesses a previous frame. */ + BOOL_BITFIELD accesses_prev_frame : 1; + + /* Set by ix86_compute_frame_layout and used by prologue/epilogue + expander to determine the style used. */ + BOOL_BITFIELD use_fast_prologue_epilogue : 1; + + /* Nonzero if the current function calls pc thunk and + must not use the red zone. */ + BOOL_BITFIELD pc_thunk_call_expanded : 1; + + /* If true, the current function needs the default PIC register, not + an alternate register (on x86) and must not use the red zone (on + x86_64), even if it's a leaf function. We don't want the + function to be regarded as non-leaf because TLS calls need not + affect register allocation. This flag is set when a TLS call + instruction is expanded within a function, and never reset, even + if all such instructions are optimized away. Use the + ix86_current_function_calls_tls_descriptor macro for a better + approximation. */ + BOOL_BITFIELD tls_descriptor_call_expanded_p : 1; + + /* If true, the current function has a STATIC_CHAIN is placed on the + stack below the return address. */ + BOOL_BITFIELD static_chain_on_stack : 1; + + /* If true, it is safe to not save/restore DRAP register. */ + BOOL_BITFIELD no_drap_save_restore : 1; + + /* Function type. */ + ENUM_BITFIELD(function_type) func_type : 2; + + /* How to generate indirec branch. */ + ENUM_BITFIELD(indirect_branch) indirect_branch_type : 3; + + /* If true, the current function has local indirect jumps, like + "indirect_jump" or "tablejump". */ + BOOL_BITFIELD has_local_indirect_jump : 1; + + /* How to generate function return. */ + ENUM_BITFIELD(indirect_branch) function_return_type : 3; + + /* If true, the current function is a function specified with + the "interrupt" or "no_caller_saved_registers" attribute. */ + BOOL_BITFIELD no_caller_saved_registers : 1; + + /* If true, there is register available for argument passing. This + is used only in ix86_function_ok_for_sibcall by 32-bit to determine + if there is scratch register available for indirect sibcall. In + 64-bit, rax, r10 and r11 are scratch registers which aren't used to + pass arguments and can be used for indirect sibcall. */ + BOOL_BITFIELD arg_reg_available : 1; + + /* If true, we're out-of-lining reg save/restore for regs clobbered + by 64-bit ms_abi functions calling a sysv_abi function. */ + BOOL_BITFIELD call_ms2sysv : 1; + + /* If true, the incoming 16-byte aligned stack has an offset (of 8) and + needs padding prior to out-of-line stub save/restore area. */ + BOOL_BITFIELD call_ms2sysv_pad_in : 1; + + /* This is the number of extra registers saved by stub (valid range is + 0-6). Each additional register is only saved/restored by the stubs + if all successive ones are. (Will always be zero when using a hard + frame pointer.) */ + unsigned int call_ms2sysv_extra_regs:3; + + /* Nonzero if the function places outgoing arguments on stack. */ + BOOL_BITFIELD outgoing_args_on_stack : 1; + + /* If true, ENDBR or patchable area is queued at function entrance. */ + ENUM_BITFIELD(queued_insn_type) insn_queued_at_entrance : 2; + + /* If true, the function label has been emitted. */ + BOOL_BITFIELD function_label_emitted : 1; + + /* True if the function needs a stack frame. */ + BOOL_BITFIELD stack_frame_required : 1; + + /* True if we should act silently, rather than raise an error for + invalid calls. */ + BOOL_BITFIELD silent_p : 1; + + /* True if red zone is used. */ + BOOL_BITFIELD red_zone_used : 1; + + /* The largest alignment, in bytes, of stack slot actually used. */ + unsigned int max_used_stack_alignment; + + /* During prologue/epilogue generation, the current frame state. + Otherwise, the frame state at the end of the prologue. */ + struct machine_frame_state fs; + + /* During SEH output, this is non-null. */ + struct seh_frame_state * GTY((skip(""))) seh; +}; + +extern GTY(()) tree sysv_va_list_type_node; +extern GTY(()) tree ms_va_list_type_node; +#endif + +#define ix86_stack_locals (cfun->machine->stack_locals) +#define ix86_varargs_gpr_size (cfun->machine->varargs_gpr_size) +#define ix86_varargs_fpr_size (cfun->machine->varargs_fpr_size) +#define ix86_optimize_mode_switching (cfun->machine->optimize_mode_switching) +#define ix86_pc_thunk_call_expanded (cfun->machine->pc_thunk_call_expanded) +#define ix86_tls_descriptor_calls_expanded_in_cfun \ + (cfun->machine->tls_descriptor_call_expanded_p) +/* Since tls_descriptor_call_expanded is not cleared, even if all TLS + calls are optimized away, we try to detect cases in which it was + optimized away. Since such instructions (use (reg REG_SP)), we can + verify whether there's any such instruction live by testing that + REG_SP is live. */ +#define ix86_current_function_calls_tls_descriptor \ + (ix86_tls_descriptor_calls_expanded_in_cfun && df_regs_ever_live_p (SP_REG)) +#define ix86_static_chain_on_stack (cfun->machine->static_chain_on_stack) +#define ix86_red_zone_used (cfun->machine->red_zone_used) + +/* Control behavior of x86_file_start. */ +#define X86_FILE_START_VERSION_DIRECTIVE false +#define X86_FILE_START_FLTUSED false + +/* Flag to mark data that is in the large address area. */ +#define SYMBOL_FLAG_FAR_ADDR (SYMBOL_FLAG_MACH_DEP << 0) +#define SYMBOL_REF_FAR_ADDR_P(X) \ + ((SYMBOL_REF_FLAGS (X) & SYMBOL_FLAG_FAR_ADDR) != 0) + +/* Flags to mark dllimport/dllexport. Used by PE ports, but handy to + have defined always, to avoid ifdefing. */ +#define SYMBOL_FLAG_DLLIMPORT (SYMBOL_FLAG_MACH_DEP << 1) +#define SYMBOL_REF_DLLIMPORT_P(X) \ + ((SYMBOL_REF_FLAGS (X) & SYMBOL_FLAG_DLLIMPORT) != 0) + +#define SYMBOL_FLAG_DLLEXPORT (SYMBOL_FLAG_MACH_DEP << 2) +#define SYMBOL_REF_DLLEXPORT_P(X) \ + ((SYMBOL_REF_FLAGS (X) & SYMBOL_FLAG_DLLEXPORT) != 0) + +#define SYMBOL_FLAG_STUBVAR (SYMBOL_FLAG_MACH_DEP << 4) +#define SYMBOL_REF_STUBVAR_P(X) \ + ((SYMBOL_REF_FLAGS (X) & SYMBOL_FLAG_STUBVAR) != 0) + +extern void debug_ready_dispatch (void); +extern void debug_dispatch_window (int); + +/* The value at zero is only defined for the BMI instructions + LZCNT and TZCNT, not the BSR/BSF insns in the original isa. */ +#define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ + ((VALUE) = GET_MODE_BITSIZE (MODE), TARGET_BMI ? 2 : 0) +#define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ + ((VALUE) = GET_MODE_BITSIZE (MODE), TARGET_LZCNT ? 2 : 0) + + +/* Flags returned by ix86_get_callcvt (). */ +#define IX86_CALLCVT_CDECL 0x1 +#define IX86_CALLCVT_STDCALL 0x2 +#define IX86_CALLCVT_FASTCALL 0x4 +#define IX86_CALLCVT_THISCALL 0x8 +#define IX86_CALLCVT_REGPARM 0x10 +#define IX86_CALLCVT_SSEREGPARM 0x20 + +#define IX86_BASE_CALLCVT(FLAGS) \ + ((FLAGS) & (IX86_CALLCVT_CDECL | IX86_CALLCVT_STDCALL \ + | IX86_CALLCVT_FASTCALL | IX86_CALLCVT_THISCALL)) + +#define RECIP_MASK_NONE 0x00 +#define RECIP_MASK_DIV 0x01 +#define RECIP_MASK_SQRT 0x02 +#define RECIP_MASK_VEC_DIV 0x04 +#define RECIP_MASK_VEC_SQRT 0x08 +#define RECIP_MASK_ALL (RECIP_MASK_DIV | RECIP_MASK_SQRT \ + | RECIP_MASK_VEC_DIV | RECIP_MASK_VEC_SQRT) +#define RECIP_MASK_DEFAULT (RECIP_MASK_VEC_DIV | RECIP_MASK_VEC_SQRT) + +#define TARGET_RECIP_DIV ((recip_mask & RECIP_MASK_DIV) != 0) +#define TARGET_RECIP_SQRT ((recip_mask & RECIP_MASK_SQRT) != 0) +#define TARGET_RECIP_VEC_DIV ((recip_mask & RECIP_MASK_VEC_DIV) != 0) +#define TARGET_RECIP_VEC_SQRT ((recip_mask & RECIP_MASK_VEC_SQRT) != 0) + +/* Use 128-bit AVX instructions in the auto-vectorizer. */ +#define TARGET_PREFER_AVX128 (prefer_vector_width_type == PVW_AVX128) +/* Use 256-bit AVX instructions in the auto-vectorizer. */ +#define TARGET_PREFER_AVX256 (TARGET_PREFER_AVX128 \ + || prefer_vector_width_type == PVW_AVX256) + +#define TARGET_INDIRECT_BRANCH_REGISTER \ + (ix86_indirect_branch_register \ + || cfun->machine->indirect_branch_type != indirect_branch_keep) + +#define IX86_HLE_ACQUIRE (1 << 16) +#define IX86_HLE_RELEASE (1 << 17) + +/* For switching between functions with different target attributes. */ +#define SWITCHABLE_TARGET 1 + +#define TARGET_SUPPORTS_WIDE_INT 1 + +#if !defined(GENERATOR_FILE) && !defined(IN_LIBGCC2) +extern enum attr_cpu ix86_schedule; + +#define NUM_X86_64_MS_CLOBBERED_REGS 12 +#endif + +/* __builtin_eh_return can't handle stack realignment, so disable MMX/SSE + in 32-bit libgcc functions that call it. */ +#ifndef __x86_64__ +#define LIBGCC2_UNWIND_ATTRIBUTE __attribute__((target ("no-mmx,no-sse"))) +#endif + +/* +Local variables: +version-control: t +End: +*/ diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h new file mode 100644 index 0000000000..0d98599173 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux-common.h @@ -0,0 +1,68 @@ +/* Definitions for Intel 386 running Linux-based GNU systems with ELF format. + Copyright (C) 2012-2023 Free Software Foundation, Inc. + Contributed by Ilya Enkovich. + +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 +. */ + +#undef TARGET_OS_CPP_BUILTINS +#define TARGET_OS_CPP_BUILTINS() \ + do \ + { \ + GNU_USER_TARGET_OS_CPP_BUILTINS(); \ + ANDROID_TARGET_OS_CPP_BUILTINS(); \ + } \ + while (0) + +#undef CC1_SPEC +#define CC1_SPEC \ + LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ + GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC) + +#undef LINK_SPEC +#define LINK_SPEC \ + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LINK_SPEC, \ + GNU_USER_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) + +#undef LIB_SPEC +#define LIB_SPEC \ + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ + GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC " " ANDROID_LIB_SPEC) + +#undef STARTFILE_SPEC +#define STARTFILE_SPEC \ + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_STARTFILE_SPEC, \ + ANDROID_STARTFILE_SPEC) + +#undef ENDFILE_SPEC +#define ENDFILE_SPEC \ + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_MATHFILE_SPEC " " \ + GNU_USER_TARGET_ENDFILE_SPEC, \ + GNU_USER_TARGET_MATHFILE_SPEC " " \ + ANDROID_ENDFILE_SPEC) + +#ifdef HAVE_LD_PUSHPOPSTATE_SUPPORT +#define MPX_LD_AS_NEEDED_GUARD_PUSH "--push-state --no-as-needed" +#define MPX_LD_AS_NEEDED_GUARD_POP "--pop-state" +#else +#define MPX_LD_AS_NEEDED_GUARD_PUSH "" +#define MPX_LD_AS_NEEDED_GUARD_POP "" +#endif + +extern void file_end_indicate_exec_stack_and_gnu_property (void); + +#undef TARGET_ASM_FILE_END +#define TARGET_ASM_FILE_END file_end_indicate_exec_stack_and_gnu_property diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h new file mode 100644 index 0000000000..2bd9f48e27 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/linux64.h @@ -0,0 +1,39 @@ +/* Definitions for AMD x86-64 running Linux-based GNU systems with ELF format. + Copyright (C) 2001-2023 Free Software Foundation, Inc. + Contributed by Jan Hubicka , based on linux.h. + +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 GNU_USER_LINK_EMULATION32 "elf_i386" +#define GNU_USER_LINK_EMULATION64 "elf_x86_64" +#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64" + +#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" +#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" +#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" + +#undef MUSL_DYNAMIC_LINKER32 +#define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1" +#undef MUSL_DYNAMIC_LINKER64 +#define MUSL_DYNAMIC_LINKER64 "/lib/ld-musl-x86_64.so.1" +#undef MUSL_DYNAMIC_LINKERX32 +#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1" diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def new file mode 100644 index 0000000000..a7da35a730 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/stringop.def @@ -0,0 +1,28 @@ +/* Definitions for stringop strategy for IA-32. + 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 files COPYING3. If not, +see . */ + +DEF_ALG (no_stringop, no_stringop) +DEF_ALG (libcall, libcall) +DEF_ALG (rep_prefix_1_byte, rep_byte) +DEF_ALG (rep_prefix_4_byte, rep_4byte) +DEF_ALG (rep_prefix_8_byte, rep_8byte) +DEF_ALG (loop_1_byte, byte_loop) +DEF_ALG (loop, loop) +DEF_ALG (unrolled_loop, unrolled_loop) +DEF_ALG (vector_loop, vector_loop) diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h new file mode 100644 index 0000000000..084a0ff044 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/unix.h @@ -0,0 +1,80 @@ +/* Definitions for Unix assembler syntax for the Intel 80386. + 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. + +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 +. */ + +/* This file defines the aspects of assembler syntax + that are the same for all the i386 Unix systems + (though they may differ in non-Unix systems). */ + +/* Define macro used to output shift-double opcodes when the shift + count is in %cl. Some assemblers require %cl as an argument; + some don't. This macro controls what to do: by default, don't + print %cl. */ +#define SHIFT_DOUBLE_OMITS_COUNT 1 + +/* Define the syntax of pseudo-ops, labels and comments. */ + +/* String containing the assembler's comment-starter. + Note the trailing space is necessary in case the character + that immediately follows the comment is '*'. If this happens + and the space is not there the assembler will interpret this + as the start of a C-like slash-star comment and complain when + there is no terminator. */ + +#define ASM_COMMENT_START "/ " + +/* Output to assembler file text saying following lines + may contain character constants, extra white space, comments, etc. */ + +#define ASM_APP_ON "/APP\n" + +/* Output to assembler file text saying following lines + no longer contain unusual constructs. */ + +#define ASM_APP_OFF "/NO_APP\n" + +/* Output before read-only data. */ + +#define TEXT_SECTION_ASM_OP "\t.text" + +/* Output before writable (initialized) data. */ + +#define DATA_SECTION_ASM_OP "\t.data" + +/* Output before writable (uninitialized) data. */ + +#define BSS_SECTION_ASM_OP "\t.bss" + +/* Globalizing directive for a label. */ +#define GLOBAL_ASM_OP "\t.globl\t" + +/* By default, target has a 80387, uses IEEE compatible arithmetic, + and returns float values in the 387. */ +#undef TARGET_SUBTARGET_DEFAULT +#define TARGET_SUBTARGET_DEFAULT \ + (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS) + +/* By default, 64-bit mode uses 128-bit long double. */ +#undef TARGET_SUBTARGET64_DEFAULT +#define TARGET_SUBTARGET64_DEFAULT \ + MASK_128BIT_LONG_DOUBLE diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h new file mode 100644 index 0000000000..cba591166d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-64.h @@ -0,0 +1,91 @@ +/* OS independent definitions for AMD x86-64. + Copyright (C) 2001-2023 Free Software Foundation, Inc. + Contributed by Bo Thorsen . + +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 +. */ + +#undef ASM_COMMENT_START +#define ASM_COMMENT_START "#" + +#undef DEBUGGER_REGNO +#define DEBUGGER_REGNO(n) \ + (TARGET_64BIT ? debugger64_register_map[n] : svr4_debugger_register_map[n]) + +/* Output assembler code to FILE to call the profiler. */ +#define NO_PROFILE_COUNTERS 1 + +#undef MCOUNT_NAME +#define MCOUNT_NAME "mcount" + +#undef SIZE_TYPE +#define SIZE_TYPE (TARGET_LP64 ? "long unsigned int" : "unsigned int") + +#undef PTRDIFF_TYPE +#define PTRDIFF_TYPE (TARGET_LP64 ? "long int" : "int") + +#undef WCHAR_TYPE +#define WCHAR_TYPE "int" + +#undef WCHAR_TYPE_SIZE +#define WCHAR_TYPE_SIZE 32 + +#undef ASM_SPEC +#define ASM_SPEC "%{m16|m32:--32} %{m64:--64} %{mx32:--x32}" + +#undef ASM_OUTPUT_ALIGNED_BSS +#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ + x86_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) + +#undef ASM_OUTPUT_ALIGNED_DECL_COMMON +#define ASM_OUTPUT_ALIGNED_DECL_COMMON(FILE, DECL, NAME, SIZE, ALIGN) \ + x86_elf_aligned_decl_common (FILE, DECL, NAME, SIZE, ALIGN); + +#undef ASM_OUTPUT_ALIGNED_DECL_LOCAL +#define ASM_OUTPUT_ALIGNED_DECL_LOCAL(FILE, DECL, NAME, SIZE, ALIGN) \ + do \ + { \ + fprintf ((FILE), "%s", LOCAL_ASM_OP); \ + assemble_name ((FILE), (NAME)); \ + fprintf ((FILE), "\n"); \ + ASM_OUTPUT_ALIGNED_DECL_COMMON (FILE, DECL, NAME, SIZE, ALIGN); \ + } \ + while (0) + +#define SUBALIGN_LOG 3 + +/* i386 System V Release 4 uses DWARF debugging info. + x86-64 ABI specifies DWARF2. */ + +#define DWARF2_DEBUGGING_INFO 1 +#define DWARF2_UNWIND_INFO 1 + +#undef PREFERRED_DEBUGGING_TYPE +#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG + +#undef TARGET_ASM_SELECT_SECTION +#define TARGET_ASM_SELECT_SECTION x86_64_elf_select_section + +#undef TARGET_ASM_UNIQUE_SECTION +#define TARGET_ASM_UNIQUE_SECTION x86_64_elf_unique_section + +#undef TARGET_SECTION_TYPE_FLAGS +#define TARGET_SECTION_TYPE_FLAGS x86_64_elf_section_type_flags diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def new file mode 100644 index 0000000000..e86b5145ff --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/i386/x86-tune.def @@ -0,0 +1,702 @@ +/* Definitions of x86 tunable features. + 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 and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +. */ + +/* Tuning for a given CPU XXXX consists of: + - adding new CPU into: + - adding PROCESSOR_XXX to processor_type (in i386.h) + - possibly adding XXX into CPU attribute in i386.md + - adding XXX to processor_alias_table (in i386.cc) + - introducing ix86_XXX_cost in i386.cc + - Stringop generation table can be build based on test_stringop + - script (once rest of tuning is complete) + - designing a scheduler model in + - XXXX.md file + - Updating ix86_issue_rate and ix86_adjust_cost in i386.md + - possibly updating ia32_multipass_dfa_lookahead, ix86_sched_reorder + and ix86_sched_init_global if those tricks are needed. + - Tunning the flags bellow. Those are split into sections and each + section is very roughly ordered by importance. */ + +/*****************************************************************************/ +/* Scheduling flags. */ +/*****************************************************************************/ + +/* X86_TUNE_SCHEDULE: Enable scheduling. */ +DEF_TUNE (X86_TUNE_SCHEDULE, "schedule", + m_PENT | m_LAKEMONT | m_PPRO | m_CORE_ALL | m_BONNELL | m_SILVERMONT + | m_INTEL | m_KNL | m_KNM | m_K6_GEODE | m_AMD_MULTIPLE | m_LUJIAZUI + | m_GOLDMONT | m_GOLDMONT_PLUS | m_TREMONT | m_ALDERLAKE | m_CORE_ATOM + | m_GENERIC) + +/* X86_TUNE_PARTIAL_REG_DEPENDENCY: Enable more register renaming + on modern chips. Prefer stores affecting whole integer register + over partial stores. For example prefer MOVZBL or MOVQ to load 8bit + value over movb. */ +DEF_TUNE (X86_TUNE_PARTIAL_REG_DEPENDENCY, "partial_reg_dependency", + m_P4_NOCONA | m_CORE2 | m_NEHALEM | m_SANDYBRIDGE | m_CORE_AVX2 + | m_BONNELL | m_SILVERMONT | m_GOLDMONT | m_GOLDMONT_PLUS | m_INTEL + | m_KNL | m_KNM | m_AMD_MULTIPLE | m_LUJIAZUI | m_TREMONT + | m_ALDERLAKE | m_CORE_ATOM | m_GENERIC) + +/* X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY: This knob promotes all store + destinations to be 128bit to allow register renaming on 128bit SSE units, + but usually results in one extra microop on 64bit SSE units. + Experimental results shows that disabling this option on P4 brings over 20% + SPECfp regression, while enabling it on K8 brings roughly 2.4% regression + that can be partly masked by careful scheduling of moves. */ +DEF_TUNE (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY, "sse_partial_reg_dependency", + m_PPRO | m_P4_NOCONA | m_CORE_ALL | m_BONNELL | m_AMDFAM10 + | m_BDVER | m_ZNVER | m_LUJIAZUI | m_TREMONT | m_ALDERLAKE + | m_CORE_ATOM | m_GENERIC) + +/* X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY: This knob avoids + partial write to the destination in scalar SSE conversion from FP + to FP. */ +DEF_TUNE (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY, + "sse_partial_reg_fp_converts_dependency", + m_PPRO | m_P4_NOCONA | m_CORE_ALL | m_BONNELL | m_AMDFAM10 + | m_BDVER | m_ZNVER | m_LUJIAZUI | m_ALDERLAKE | m_CORE_ATOM + | m_GENERIC) + +/* X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY: This knob avoids partial + write to the destination in scalar SSE conversion from integer to FP. */ +DEF_TUNE (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY, + "sse_partial_reg_converts_dependency", + m_PPRO | m_P4_NOCONA | m_CORE_ALL | m_BONNELL | m_AMDFAM10 + | m_BDVER | m_ZNVER | m_LUJIAZUI | m_ALDERLAKE | m_CORE_ATOM + | m_GENERIC) + +/* X86_TUNE_DEST_FALSE_DEP_FOR_GLC: This knob inserts zero-idiom before + several insns to break false dependency on the dest register for GLC + micro-architecture. */ +DEF_TUNE (X86_TUNE_DEST_FALSE_DEP_FOR_GLC, + "dest_false_dep_for_glc", m_SAPPHIRERAPIDS | m_ALDERLAKE + | m_CORE_ATOM) + +/* X86_TUNE_SSE_SPLIT_REGS: Set for machines where the type and dependencies + are resolved on SSE register parts instead of whole registers, so we may + maintain just lower part of scalar values in proper format leaving the + upper part undefined. */ +DEF_TUNE (X86_TUNE_SSE_SPLIT_REGS, "sse_split_regs", m_ATHLON_K8) + +/* X86_TUNE_PARTIAL_FLAG_REG_STALL: this flag disables use of flags + set by instructions affecting just some flags (in particular shifts). + This is because Core2 resolves dependencies on whole flags register + and such sequences introduce false dependency on previous instruction + setting full flags. + + The flags does not affect generation of INC and DEC that is controlled + by X86_TUNE_USE_INCDEC. */ + +DEF_TUNE (X86_TUNE_PARTIAL_FLAG_REG_STALL, "partial_flag_reg_stall", + m_CORE2) + +/* X86_TUNE_MOVX: Enable to zero extend integer registers to avoid + partial dependencies. */ +DEF_TUNE (X86_TUNE_MOVX, "movx", + m_PPRO | m_P4_NOCONA | m_CORE2 | m_NEHALEM | m_SANDYBRIDGE + | m_BONNELL | m_SILVERMONT | m_GOLDMONT | m_KNL | m_KNM | m_INTEL + | m_GOLDMONT_PLUS | m_GEODE | m_AMD_MULTIPLE | m_LUJIAZUI + | m_CORE_AVX2 | m_TREMONT | m_ALDERLAKE | m_CORE_ATOM | m_GENERIC) + +/* X86_TUNE_MEMORY_MISMATCH_STALL: Avoid partial stores that are followed by + full sized loads. */ +DEF_TUNE (X86_TUNE_MEMORY_MISMATCH_STALL, "memory_mismatch_stall", + m_P4_NOCONA | m_CORE_ALL | m_BONNELL | m_SILVERMONT | m_INTEL + | m_KNL | m_KNM | m_GOLDMONT | m_GOLDMONT_PLUS | m_AMD_MULTIPLE + | m_LUJIAZUI | m_TREMONT | m_ALDERLAKE | m_CORE_ATOM | m_GENERIC) + +/* X86_TUNE_FUSE_CMP_AND_BRANCH_32: Fuse compare with a subsequent + conditional jump instruction for 32 bit TARGET. */ +DEF_TUNE (X86_TUNE_FUSE_CMP_AND_BRANCH_32, "fuse_cmp_and_branch_32", + m_CORE_ALL | m_BDVER | m_ZNVER | m_LUJIAZUI | m_GENERIC) + +/* X86_TUNE_FUSE_CMP_AND_BRANCH_64: Fuse compare with a subsequent + conditional jump instruction for TARGET_64BIT. */ +DEF_TUNE (X86_TUNE_FUSE_CMP_AND_BRANCH_64, "fuse_cmp_and_branch_64", + m_NEHALEM | m_SANDYBRIDGE | m_CORE_AVX2 | m_BDVER + | m_ZNVER | m_LUJIAZUI | m_GENERIC) + +/* X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS: Fuse compare with a + subsequent conditional jump instruction when the condition jump + check sign flag (SF) or overflow flag (OF). */ +DEF_TUNE (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS, "fuse_cmp_and_branch_soflags", + m_NEHALEM | m_SANDYBRIDGE | m_CORE_AVX2 | m_BDVER + | m_ZNVER | m_LUJIAZUI | m_GENERIC) + +/* X86_TUNE_FUSE_ALU_AND_BRANCH: Fuse alu with a subsequent conditional + jump instruction when the alu instruction produces the CCFLAG consumed by + the conditional jump instruction. */ +DEF_TUNE (X86_TUNE_FUSE_ALU_AND_BRANCH, "fuse_alu_and_branch", + m_SANDYBRIDGE | m_CORE_AVX2 | m_LUJIAZUI | m_GENERIC) + + +/*****************************************************************************/ +/* Function prologue, epilogue and function calling sequences. */ +/*****************************************************************************/ + +/* X86_TUNE_ACCUMULATE_OUTGOING_ARGS: Allocate stack space for outgoing + arguments in prologue/epilogue instead of separately for each call + by push/pop instructions. + This increase code size by about 5% in 32bit mode, less so in 64bit mode + because parameters are passed in registers. It is considerable + win for targets without stack engine that prevents multple push operations + to happen in parallel. */ + +DEF_TUNE (X86_TUNE_ACCUMULATE_OUTGOING_ARGS, "accumulate_outgoing_args", + m_PPRO | m_P4_NOCONA | m_BONNELL | m_SILVERMONT | m_KNL | m_KNM | m_INTEL + | m_GOLDMONT | m_GOLDMONT_PLUS | m_ATHLON_K8 | m_LUJIAZUI) + +/* X86_TUNE_PROLOGUE_USING_MOVE: Do not use push/pop in prologues that are + considered on critical path. */ +DEF_TUNE (X86_TUNE_PROLOGUE_USING_MOVE, "prologue_using_move", + m_PPRO | m_ATHLON_K8) + +/* X86_TUNE_PROLOGUE_USING_MOVE: Do not use push/pop in epilogues that are + considered on critical path. */ +DEF_TUNE (X86_TUNE_EPILOGUE_USING_MOVE, "epilogue_using_move", + m_PPRO | m_ATHLON_K8) + +/* X86_TUNE_USE_LEAVE: Use "leave" instruction in epilogues where it fits. */ +DEF_TUNE (X86_TUNE_USE_LEAVE, "use_leave", + m_386 | m_CORE_ALL | m_K6_GEODE | m_AMD_MULTIPLE | m_LUJIAZUI + | m_TREMONT | m_ALDERLAKE | m_CORE_ATOM | m_GENERIC) + +/* X86_TUNE_PUSH_MEMORY: Enable generation of "push mem" instructions. + Some chips, like 486 and Pentium works faster with separate load + and push instructions. */ +DEF_TUNE (X86_TUNE_PUSH_MEMORY, "push_memory", + m_386 | m_P4_NOCONA | m_CORE_ALL | m_K6_GEODE | m_AMD_MULTIPLE + | m_LUJIAZUI | m_TREMONT | m_ALDERLAKE | m_CORE_ATOM | m_GENERIC) + +/* X86_TUNE_SINGLE_PUSH: Enable if single push insn is preferred + over esp subtraction. */ +DEF_TUNE (X86_TUNE_SINGLE_PUSH, "single_push", m_386 | m_486 | m_PENT + | m_LAKEMONT | m_K6_GEODE) + +/* X86_TUNE_DOUBLE_PUSH. Enable if double push insn is preferred + over esp subtraction. */ +DEF_TUNE (X86_TUNE_DOUBLE_PUSH, "double_push", m_PENT | m_LAKEMONT + | m_K6_GEODE) + +/* X86_TUNE_SINGLE_POP: Enable if single pop insn is preferred + over esp addition. */ +DEF_TUNE (X86_TUNE_SINGLE_POP, "single_pop", m_386 | m_486 | m_PENT + | m_LAKEMONT | m_PPRO) + +/* X86_TUNE_DOUBLE_POP: Enable if double pop insn is preferred + over esp addition. */ +DEF_TUNE (X86_TUNE_DOUBLE_POP, "double_pop", m_PENT | m_LAKEMONT) + +/*****************************************************************************/ +/* Branch predictor tuning */ +/*****************************************************************************/ + +/* X86_TUNE_PAD_SHORT_FUNCTION: Make every function to be at least 4 + instructions long. */ +DEF_TUNE (X86_TUNE_PAD_SHORT_FUNCTION, "pad_short_function", m_BONNELL) + +/* X86_TUNE_PAD_RETURNS: Place NOP before every RET that is a destination + of conditional jump or directly preceded by other jump instruction. + This is important for AND K8-AMDFAM10 because the branch prediction + architecture expect at most one jump per 2 byte window. Failing to + pad returns leads to misaligned return stack. */ +DEF_TUNE (X86_TUNE_PAD_RETURNS, "pad_returns", + m_ATHLON_K8 | m_AMDFAM10) + +/* X86_TUNE_FOUR_JUMP_LIMIT: Some CPU cores are not able to predict more + than 4 branch instructions in the 16 byte window. */ +DEF_TUNE (X86_TUNE_FOUR_JUMP_LIMIT, "four_jump_limit", + m_PPRO | m_P4_NOCONA | m_BONNELL | m_SILVERMONT | m_KNL | m_KNM + | m_GOLDMONT | m_GOLDMONT_PLUS | m_INTEL | m_ATHLON_K8 | m_AMDFAM10) + +/*****************************************************************************/ +/* Integer instruction selection tuning */ +/*****************************************************************************/ + +/* X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL: Enable software prefetching + at -O3. For the moment, the prefetching seems badly tuned for Intel + chips. */ +DEF_TUNE (X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL, "software_prefetching_beneficial", + m_K6_GEODE | m_ATHLON_K8 | m_AMDFAM10 | m_BDVER | m_BTVER) + +/* X86_TUNE_LCP_STALL: Avoid an expensive length-changing prefix stall + on 16-bit immediate moves into memory on Core2 and Corei7. */ +DEF_TUNE (X86_TUNE_LCP_STALL, "lcp_stall", m_CORE_ALL | m_LUJIAZUI | m_GENERIC) + +/* X86_TUNE_READ_MODIFY: Enable use of read-modify instructions such + as "add mem, reg". */ +DEF_TUNE (X86_TUNE_READ_MODIFY, "read_modify", ~(m_PENT | m_LAKEMONT | m_PPRO)) + +/* X86_TUNE_USE_INCDEC: Enable use of inc/dec instructions. + + Core2 and nehalem has stall of 7 cycles for partial flag register stalls. + Sandy bridge and Ivy bridge generate extra uop. On Haswell this extra uop + is output only when the values needs to be really merged, which is not + done by GCC generated code. */ +DEF_TUNE (X86_TUNE_USE_INCDEC, "use_incdec", + ~(m_P4_NOCONA | m_CORE2 | m_NEHALEM | m_SANDYBRIDGE + | m_BONNELL | m_SILVERMONT | m_INTEL | m_KNL | m_KNM | m_GOLDMONT + | m_GOLDMONT_PLUS | m_TREMONT | m_ALDERLAKE | m_CORE_ATOM + | m_LUJIAZUI | m_GENERIC)) + +/* X86_TUNE_INTEGER_DFMODE_MOVES: Enable if integer moves are preferred + for DFmode copies */ +DEF_TUNE (X86_TUNE_INTEGER_DFMODE_MOVES, "integer_dfmode_moves", + ~(m_PPRO | m_P4_NOCONA | m_CORE_ALL | m_BONNELL | m_SILVERMONT + | m_KNL | m_KNM | m_INTEL | m_GEODE | m_AMD_MULTIPLE | m_LUJIAZUI + | m_GOLDMONT | m_GOLDMONT_PLUS | m_TREMONT | m_ALDERLAKE + | m_CORE_ATOM | m_GENERIC)) + +/* X86_TUNE_OPT_AGU: Optimize for Address Generation Unit. This flag + will impact LEA instruction selection. */ +DEF_TUNE (X86_TUNE_OPT_AGU, "opt_agu", m_BONNELL | m_SILVERMONT | m_KNL + | m_KNM | m_GOLDMONT | m_GOLDMONT_PLUS | m_INTEL | m_LUJIAZUI) + +/* X86_TUNE_AVOID_LEA_FOR_ADDR: Avoid lea for address computation. */ +DEF_TUNE (X86_TUNE_AVOID_LEA_FOR_ADDR, "avoid_lea_for_addr", + m_BONNELL | m_SILVERMONT | m_GOLDMONT | m_GOLDMONT_PLUS + | m_KNL | m_KNM) + +/* X86_TUNE_SLOW_IMUL_IMM32_MEM: Imul of 32-bit constant and memory is + vector path on AMD machines. + FIXME: Do we need to enable this for core? */ +DEF_TUNE (X86_TUNE_SLOW_IMUL_IMM32_MEM, "slow_imul_imm32_mem", + m_K8 | m_AMDFAM10) + +/* X86_TUNE_SLOW_IMUL_IMM8: Imul of 8-bit constant is vector path on AMD + machines. + FIXME: Do we need to enable this for core? */ +DEF_TUNE (X86_TUNE_SLOW_IMUL_IMM8, "slow_imul_imm8", + m_K8 | m_AMDFAM10) + +/* X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE: Try to avoid memory operands for + a conditional move. */ +DEF_TUNE (X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE, "avoid_mem_opnd_for_cmove", + m_BONNELL | m_SILVERMONT | m_GOLDMONT | m_GOLDMONT_PLUS | m_KNL + | m_KNM | m_INTEL) + +/* X86_TUNE_SINGLE_STRINGOP: Enable use of single string operations, such + as MOVS and STOS (without a REP prefix) to move/set sequences of bytes. */ +DEF_TUNE (X86_TUNE_SINGLE_STRINGOP, "single_stringop", m_386 | m_P4_NOCONA) + +/* X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB: Enable use of REP MOVSB/STOSB to + move/set sequences of bytes with known size. */ +DEF_TUNE (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB, + "prefer_known_rep_movsb_stosb", + m_SKYLAKE | m_ALDERLAKE | m_CORE_ATOM | m_TREMONT | m_CORE_AVX512 + | m_LUJIAZUI) + +/* X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES: Enable generation of + compact prologues and epilogues by issuing a misaligned moves. This + requires target to handle misaligned moves and partial memory stalls + reasonably well. + FIXME: This may actualy be a win on more targets than listed here. */ +DEF_TUNE (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES, + "misaligned_move_string_pro_epilogues", + m_386 | m_486 | m_CORE_ALL | m_AMD_MULTIPLE | m_LUJIAZUI | m_TREMONT + | m_ALDERLAKE | m_CORE_ATOM | m_GENERIC) + +/* X86_TUNE_USE_SAHF: Controls use of SAHF. */ +DEF_TUNE (X86_TUNE_USE_SAHF, "use_sahf", + m_PPRO | m_P4_NOCONA | m_CORE_ALL | m_BONNELL | m_SILVERMONT + | m_KNL | m_KNM | m_INTEL | m_K6_GEODE | m_K8 | m_AMDFAM10 | m_BDVER + | m_BTVER | m_ZNVER | m_LUJIAZUI | m_GOLDMONT | m_GOLDMONT_PLUS + | m_TREMONT | m_ALDERLAKE | m_CORE_ATOM | m_GENERIC) + +/* X86_TUNE_USE_CLTD: Controls use of CLTD and CTQO instructions. */ +DEF_TUNE (X86_TUNE_USE_CLTD, "use_cltd", + ~(m_PENT | m_LAKEMONT | m_BONNELL | m_SILVERMONT | m_KNL | m_KNM | m_INTEL + | m_K6 | m_GOLDMONT | m_GOLDMONT_PLUS)) + +/* X86_TUNE_USE_BT: Enable use of BT (bit test) instructions. */ +DEF_TUNE (X86_TUNE_USE_BT, "use_bt", + m_CORE_ALL | m_BONNELL | m_SILVERMONT | m_KNL | m_KNM | m_INTEL + | m_LAKEMONT | m_AMD_MULTIPLE | m_LUJIAZUI | m_GOLDMONT + | m_GOLDMONT_PLUS | m_TREMONT | m_ALDERLAKE | m_CORE_ATOM | m_GENERIC) + +/* X86_TUNE_AVOID_FALSE_DEP_FOR_BMI: Avoid false dependency + for bit-manipulation instructions. */ +DEF_TUNE (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI, "avoid_false_dep_for_bmi", + m_SANDYBRIDGE | m_CORE_AVX2 | m_TREMONT | m_ALDERLAKE | m_CORE_ATOM + | m_LUJIAZUI | m_GENERIC) + +/* X86_TUNE_ADJUST_UNROLL: This enables adjusting the unroll factor based + on hardware capabilities. Bdver3 hardware has a loop buffer which makes + unrolling small loop less important. For, such architectures we adjust + the unroll factor so that the unrolled loop fits the loop buffer. */ +DEF_TUNE (X86_TUNE_ADJUST_UNROLL, "adjust_unroll_factor", m_BDVER3 | m_BDVER4) + +/* X86_TUNE_ONE_IF_CONV_INSNS: Restrict a number of cmov insns in + if-converted sequence to one. */ +DEF_TUNE (X86_TUNE_ONE_IF_CONV_INSN, "one_if_conv_insn", + m_SILVERMONT | m_KNL | m_KNM | m_INTEL | m_CORE_ALL | m_GOLDMONT + | m_GOLDMONT_PLUS | m_TREMONT | m_ALDERLAKE | m_CORE_ATOM | m_LUJIAZUI + | m_GENERIC) + +/* X86_TUNE_AVOID_MFENCE: Use lock prefixed instructions instead of mfence. */ +DEF_TUNE (X86_TUNE_AVOID_MFENCE, "avoid_mfence", + m_CORE_ALL | m_BDVER | m_ZNVER | m_LUJIAZUI | m_TREMONT | m_ALDERLAKE + | m_CORE_ATOM | m_GENERIC) + +/* X86_TUNE_EXPAND_ABS: This enables a new abs pattern by + generating instructions for abs (x) = (((signed) x >> (W-1) ^ x) - + (signed) x >> (W-1)) instead of cmove or SSE max/abs instructions. */ +DEF_TUNE (X86_TUNE_EXPAND_ABS, "expand_abs", + m_CORE_ALL | m_SILVERMONT | m_KNL | m_KNM | m_GOLDMONT + | m_GOLDMONT_PLUS | m_LUJIAZUI) + +/*****************************************************************************/ +/* 387 instruction selection tuning */ +/*****************************************************************************/ + +/* X86_TUNE_USE_HIMODE_FIOP: Enables use of x87 instructions with 16bit + integer operand. + FIXME: Why this is disabled for modern chips? */ +DEF_TUNE (X86_TUNE_USE_HIMODE_FIOP, "use_himode_fiop", + m_386 | m_486 | m_K6_GEODE) + +/* X86_TUNE_USE_SIMODE_FIOP: Enables use of x87 instructions with 32bit + integer operand. */ +DEF_TUNE (X86_TUNE_USE_SIMODE_FIOP, "use_simode_fiop", + ~(m_PENT | m_LAKEMONT | m_PPRO | m_CORE_ALL | m_BONNELL + | m_SILVERMONT | m_KNL | m_KNM | m_INTEL | m_AMD_MULTIPLE + | m_LUJIAZUI | m_GOLDMONT | m_GOLDMONT_PLUS | m_TREMONT + | m_ALDERLAKE | m_CORE_ATOM | m_GENERIC)) + +/* X86_TUNE_USE_FFREEP: Use freep instruction instead of fstp. */ +DEF_TUNE (X86_TUNE_USE_FFREEP, "use_ffreep", m_AMD_MULTIPLE | m_LUJIAZUI) + +/* X86_TUNE_EXT_80387_CONSTANTS: Use fancy 80387 constants, such as PI. */ +DEF_TUNE (X86_TUNE_EXT_80387_CONSTANTS, "ext_80387_constants", + m_PPRO | m_P4_NOCONA | m_CORE_ALL | m_BONNELL | m_SILVERMONT + | m_KNL | m_KNM | m_INTEL | m_K6_GEODE | m_ATHLON_K8 | m_LUJIAZUI + | m_GOLDMONT | m_GOLDMONT_PLUS | m_TREMONT | m_ALDERLAKE | m_CORE_ATOM + | m_GENERIC) + +/*****************************************************************************/ +/* SSE instruction selection tuning */ +/*****************************************************************************/ + +/* X86_TUNE_GENERAL_REGS_SSE_SPILL: Try to spill general regs to SSE + regs instead of memory. */ +DEF_TUNE (X86_TUNE_GENERAL_REGS_SSE_SPILL, "general_regs_sse_spill", + m_CORE_ALL) + +/* X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL: Use movups for misaligned loads instead + of a sequence loading registers by parts. */ +DEF_TUNE (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL, "sse_unaligned_load_optimal", + m_NEHALEM | m_SANDYBRIDGE | m_CORE_AVX2 | m_SILVERMONT | m_KNL | m_KNM + | m_INTEL | m_GOLDMONT | m_GOLDMONT_PLUS | m_TREMONT | m_ALDERLAKE + | m_CORE_ATOM | m_AMDFAM10 | m_BDVER | m_BTVER | m_ZNVER | m_LUJIAZUI + | m_GENERIC) + +/* X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL: Use movups for misaligned stores + instead of a sequence loading registers by parts. */ +DEF_TUNE (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL, "sse_unaligned_store_optimal", + m_NEHALEM | m_SANDYBRIDGE | m_CORE_AVX2 | m_SILVERMONT | m_KNL | m_KNM + | m_INTEL | m_GOLDMONT | m_GOLDMONT_PLUS | m_TREMONT | m_ALDERLAKE + | m_CORE_ATOM | m_BDVER | m_ZNVER | m_LUJIAZUI | m_GENERIC) + +/* X86_TUNE_SSE_PACKED_SINGLE_INSN_OPTIMAL: Use packed single + precision 128bit instructions instead of double where possible. */ +DEF_TUNE (X86_TUNE_SSE_PACKED_SINGLE_INSN_OPTIMAL, "sse_packed_single_insn_optimal", + m_BDVER | m_ZNVER) + +/* X86_TUNE_SSE_TYPELESS_STORES: Always movaps/movups for 128bit stores. */ +DEF_TUNE (X86_TUNE_SSE_TYPELESS_STORES, "sse_typeless_stores", + m_AMD_MULTIPLE | m_LUJIAZUI | m_CORE_ALL | m_TREMONT | m_ALDERLAKE + | m_CORE_ATOM | m_GENERIC) + +/* X86_TUNE_SSE_LOAD0_BY_PXOR: Always use pxor to load0 as opposed to + xorps/xorpd and other variants. */ +DEF_TUNE (X86_TUNE_SSE_LOAD0_BY_PXOR, "sse_load0_by_pxor", + m_PPRO | m_P4_NOCONA | m_CORE_ALL | m_BDVER | m_BTVER | m_ZNVER + | m_LUJIAZUI | m_TREMONT | m_ALDERLAKE | m_CORE_ATOM | m_GENERIC) + +/* X86_TUNE_INTER_UNIT_MOVES_TO_VEC: Enable moves in from integer + to SSE registers. If disabled, the moves will be done by storing + the value to memory and reloading. + Enable this flag for generic - the only relevant architecture preferring + no inter-unit moves is Buldozer. While this makes small regression on SPECfp + scores (sub 0.3%), disabling inter-unit moves penalizes noticeably hand + written vectorized code which use i.e. _mm_set_epi16. */ +DEF_TUNE (X86_TUNE_INTER_UNIT_MOVES_TO_VEC, "inter_unit_moves_to_vec", + ~(m_ATHLON_K8 | m_AMDFAM10 | m_BDVER | m_BTVER)) + +/* X86_TUNE_INTER_UNIT_MOVES_TO_VEC: Enable moves in from SSE + to integer registers. If disabled, the moves will be done by storing + the value to memory and reloading. */ +DEF_TUNE (X86_TUNE_INTER_UNIT_MOVES_FROM_VEC, "inter_unit_moves_from_vec", + ~m_ATHLON_K8) + +/* X86_TUNE_INTER_UNIT_CONVERSIONS: Enable float<->integer conversions + to use both SSE and integer registers at a same time. */ +DEF_TUNE (X86_TUNE_INTER_UNIT_CONVERSIONS, "inter_unit_conversions", + ~(m_AMDFAM10 | m_BDVER)) + +/* X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS: Try to split memory operand for + fp converts to destination register. */ +DEF_TUNE (X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS, "split_mem_opnd_for_fp_converts", + m_SILVERMONT | m_KNL | m_KNM | m_GOLDMONT | m_GOLDMONT_PLUS + | m_INTEL) + +/* X86_TUNE_USE_VECTOR_FP_CONVERTS: Prefer vector packed SSE conversion + from FP to FP. This form of instructions avoids partial write to the + destination. */ +DEF_TUNE (X86_TUNE_USE_VECTOR_FP_CONVERTS, "use_vector_fp_converts", + m_AMDFAM10) + +/* X86_TUNE_USE_VECTOR_CONVERTS: Prefer vector packed SSE conversion + from integer to FP. */ +DEF_TUNE (X86_TUNE_USE_VECTOR_CONVERTS, "use_vector_converts", m_AMDFAM10) + +/* X86_TUNE_SLOW_SHUFB: Indicates tunings with slow pshufb instruction. */ +DEF_TUNE (X86_TUNE_SLOW_PSHUFB, "slow_pshufb", + m_BONNELL | m_SILVERMONT | m_KNL | m_KNM | m_GOLDMONT + | m_GOLDMONT_PLUS | m_INTEL) + +/* X86_TUNE_AVOID_4BYTE_PREFIXES: Avoid instructions requiring 4+ bytes of prefixes. */ +DEF_TUNE (X86_TUNE_AVOID_4BYTE_PREFIXES, "avoid_4byte_prefixes", + m_SILVERMONT | m_GOLDMONT | m_GOLDMONT_PLUS | m_TREMONT | m_ALDERLAKE + | m_CORE_ATOM | m_INTEL) + +/* X86_TUNE_USE_GATHER_2PARTS: Use gather instructions for vectors with 2 + elements. */ +DEF_TUNE (X86_TUNE_USE_GATHER_2PARTS, "use_gather_2parts", + ~(m_ZNVER1 | m_ZNVER2 | m_ZNVER3 | m_ZNVER4 | m_ALDERLAKE + | m_CORE_ATOM | m_GENERIC | m_GDS)) + +/* X86_TUNE_USE_SCATTER_2PARTS: Use scater instructions for vectors with 2 + elements. */ +DEF_TUNE (X86_TUNE_USE_SCATTER_2PARTS, "use_scatter_2parts", + ~(m_ZNVER4)) + +/* X86_TUNE_USE_GATHER_4PARTS: Use gather instructions for vectors with 4 + elements. */ +DEF_TUNE (X86_TUNE_USE_GATHER_4PARTS, "use_gather_4parts", + ~(m_ZNVER1 | m_ZNVER2 | m_ZNVER3 | m_ZNVER4 | m_ALDERLAKE + | m_CORE_ATOM | m_GENERIC | m_GDS)) + +/* X86_TUNE_USE_SCATTER_4PARTS: Use scater instructions for vectors with 4 + elements. */ +DEF_TUNE (X86_TUNE_USE_SCATTER_4PARTS, "use_scatter_4parts", + ~(m_ZNVER4)) + +/* X86_TUNE_USE_GATHER: Use gather instructions for vectors with 8 or more + elements. */ +DEF_TUNE (X86_TUNE_USE_GATHER_8PARTS, "use_gather_8parts", + ~(m_ZNVER1 | m_ZNVER2 | m_ZNVER4 | m_ALDERLAKE + | m_CORE_ATOM | m_GENERIC | m_GDS)) + +/* X86_TUNE_USE_SCATTER: Use scater instructions for vectors with 8 or more + elements. */ +DEF_TUNE (X86_TUNE_USE_SCATTER_8PARTS, "use_scatter_8parts", + ~(m_ZNVER4)) + +/* X86_TUNE_AVOID_128FMA_CHAINS: Avoid creating loops with tight 128bit or + smaller FMA chain. */ +DEF_TUNE (X86_TUNE_AVOID_128FMA_CHAINS, "avoid_fma_chains", m_ZNVER1 | m_ZNVER2 | m_ZNVER3) + +/* X86_TUNE_AVOID_256FMA_CHAINS: Avoid creating loops with tight 256bit or + smaller FMA chain. */ +DEF_TUNE (X86_TUNE_AVOID_256FMA_CHAINS, "avoid_fma256_chains", m_ZNVER2 | m_ZNVER3 + | m_ALDERLAKE | m_SAPPHIRERAPIDS | m_CORE_ATOM | m_GENERIC | m_ZNVER4) + +/* X86_TUNE_AVOID_512FMA_CHAINS: Avoid creating loops with tight 512bit or + smaller FMA chain. */ +DEF_TUNE (X86_TUNE_AVOID_512FMA_CHAINS, "avoid_fma512_chains", m_NONE) + +/* X86_TUNE_V2DF_REDUCTION_PREFER_PHADDPD: Prefer haddpd + for v2df vector reduction. */ +DEF_TUNE (X86_TUNE_V2DF_REDUCTION_PREFER_HADDPD, + "v2df_reduction_prefer_haddpd", m_NONE) + +/*****************************************************************************/ +/* AVX instruction selection tuning (some of SSE flags affects AVX, too) */ +/*****************************************************************************/ + +/* X86_TUNE_AVX256_UNALIGNED_LOAD_OPTIMAL: if false, unaligned loads are + split. */ +DEF_TUNE (X86_TUNE_AVX256_UNALIGNED_LOAD_OPTIMAL, "256_unaligned_load_optimal", + ~(m_NEHALEM | m_SANDYBRIDGE)) + +/* X86_TUNE_AVX256_UNALIGNED_STORE_OPTIMAL: if false, unaligned stores are + split. */ +DEF_TUNE (X86_TUNE_AVX256_UNALIGNED_STORE_OPTIMAL, "256_unaligned_store_optimal", + ~(m_NEHALEM | m_SANDYBRIDGE | m_BDVER | m_ZNVER1)) + +/* X86_TUNE_AVX256_SPLIT_REGS: if true, AVX256 ops are split into two AVX128 ops. */ +DEF_TUNE (X86_TUNE_AVX256_SPLIT_REGS, "avx256_split_regs",m_BDVER | m_BTVER2 + | m_ZNVER1) + +/* X86_TUNE_AVX128_OPTIMAL: Enable 128-bit AVX instruction generation for + the auto-vectorizer. */ +DEF_TUNE (X86_TUNE_AVX128_OPTIMAL, "avx128_optimal", m_BDVER | m_BTVER2 + | m_ZNVER1) + +/* X86_TUNE_AVX256_OPTIMAL: Use 256-bit AVX instructions instead of 512-bit AVX + instructions in the auto-vectorizer. */ +DEF_TUNE (X86_TUNE_AVX256_OPTIMAL, "avx256_optimal", m_CORE_AVX512) + +/* X86_TUNE_AVX256_SPLIT_REGS: if true, AVX512 ops are split into two AVX256 ops. */ +DEF_TUNE (X86_TUNE_AVX512_SPLIT_REGS, "avx512_split_regs", m_ZNVER4) + +/* X86_TUNE_AVX256_MOVE_BY_PIECES: Optimize move_by_pieces with 256-bit + AVX instructions. */ +DEF_TUNE (X86_TUNE_AVX256_MOVE_BY_PIECES, "avx256_move_by_pieces", + m_ALDERLAKE | m_CORE_AVX2 | m_ZNVER1 | m_ZNVER2 | m_ZNVER3) + +/* X86_TUNE_AVX256_STORE_BY_PIECES: Optimize store_by_pieces with 256-bit + AVX instructions. */ +DEF_TUNE (X86_TUNE_AVX256_STORE_BY_PIECES, "avx256_store_by_pieces", + m_ALDERLAKE | m_CORE_AVX2 | m_ZNVER1 | m_ZNVER2 | m_ZNVER3) + +/* X86_TUNE_AVX512_MOVE_BY_PIECES: Optimize move_by_pieces with 512-bit + AVX instructions. */ +DEF_TUNE (X86_TUNE_AVX512_MOVE_BY_PIECES, "avx512_move_by_pieces", + m_SAPPHIRERAPIDS | m_ZNVER4) + +/* X86_TUNE_AVX512_STORE_BY_PIECES: Optimize store_by_pieces with 512-bit + AVX instructions. */ +DEF_TUNE (X86_TUNE_AVX512_STORE_BY_PIECES, "avx512_store_by_pieces", + m_SAPPHIRERAPIDS | m_ZNVER4) + +/*****************************************************************************/ +/*****************************************************************************/ +/* Historical relics: tuning flags that helps a specific old CPU designs */ +/*****************************************************************************/ + +/* X86_TUNE_DOUBLE_WITH_ADD: Use add instead of sal to double value in + an integer register. */ +DEF_TUNE (X86_TUNE_DOUBLE_WITH_ADD, "double_with_add", ~m_386) + +/* X86_TUNE_ALWAYS_FANCY_MATH_387: controls use of fancy 387 operations, + such as fsqrt, fprem, fsin, fcos, fsincos etc. + Should be enabled for all targets that always has coprocesor. */ +DEF_TUNE (X86_TUNE_ALWAYS_FANCY_MATH_387, "always_fancy_math_387", + ~(m_386 | m_486 | m_LAKEMONT)) + +/* X86_TUNE_UNROLL_STRLEN: Produce (quite lame) unrolled sequence for + inline strlen. This affects only -minline-all-stringops mode. By + default we always dispatch to a library since our internal strlen + is bad. */ +DEF_TUNE (X86_TUNE_UNROLL_STRLEN, "unroll_strlen", ~m_386) + +/* X86_TUNE_SHIFT1: Enables use of short encoding of "sal reg" instead of + longer "sal $1, reg". */ +DEF_TUNE (X86_TUNE_SHIFT1, "shift1", ~m_486) + +/* X86_TUNE_ZERO_EXTEND_WITH_AND: Use AND instruction instead + of mozbl/movwl. */ +DEF_TUNE (X86_TUNE_ZERO_EXTEND_WITH_AND, "zero_extend_with_and", + m_486 | m_PENT) + +/* X86_TUNE_PROMOTE_HIMODE_IMUL: Modern CPUs have same latency for HImode + and SImode multiply, but 386 and 486 do HImode multiply faster. */ +DEF_TUNE (X86_TUNE_PROMOTE_HIMODE_IMUL, "promote_himode_imul", + ~(m_386 | m_486)) + +/* X86_TUNE_FAST_PREFIX: Enable demoting some 32bit or 64bit arithmetic + into 16bit/8bit when resulting sequence is shorter. For example + for "and $-65536, reg" to 16bit store of 0. */ +DEF_TUNE (X86_TUNE_FAST_PREFIX, "fast_prefix", + ~(m_386 | m_486 | m_PENT | m_LAKEMONT)) + +/* X86_TUNE_READ_MODIFY_WRITE: Enable use of read modify write instructions + such as "add $1, mem". */ +DEF_TUNE (X86_TUNE_READ_MODIFY_WRITE, "read_modify_write", + ~(m_PENT | m_LAKEMONT)) + +/* X86_TUNE_MOVE_M1_VIA_OR: On pentiums, it is faster to load -1 via OR + than a MOV. */ +DEF_TUNE (X86_TUNE_MOVE_M1_VIA_OR, "move_m1_via_or", m_PENT | m_LAKEMONT) + +/* X86_TUNE_NOT_UNPAIRABLE: NOT is not pairable on Pentium, while XOR is, + but one byte longer. */ +DEF_TUNE (X86_TUNE_NOT_UNPAIRABLE, "not_unpairable", m_PENT | m_LAKEMONT) + +/* X86_TUNE_PARTIAL_REG_STALL: Pentium pro, unlike later chips, handled + use of partial registers by renaming. This improved performance of 16bit + code where upper halves of registers are not used. It also leads to + an penalty whenever a 16bit store is followed by 32bit use. This flag + disables production of such sequences in common cases. + See also X86_TUNE_HIMODE_MATH. + + In current implementation the partial register stalls are not eliminated + very well - they can be introduced via subregs synthesized by combine + and can happen in caller/callee saving sequences. */ +DEF_TUNE (X86_TUNE_PARTIAL_REG_STALL, "partial_reg_stall", m_PPRO) + +/* X86_TUNE_PROMOTE_QIMODE: When it is cheap, turn 8bit arithmetic to + corresponding 32bit arithmetic. */ +DEF_TUNE (X86_TUNE_PROMOTE_QIMODE, "promote_qimode", + ~m_PPRO) + +/* X86_TUNE_PROMOTE_HI_REGS: Same, but for 16bit artihmetic. Again we avoid + partial register stalls on PentiumPro targets. */ +DEF_TUNE (X86_TUNE_PROMOTE_HI_REGS, "promote_hi_regs", m_PPRO) + +/* X86_TUNE_HIMODE_MATH: Enable use of 16bit arithmetic. + On PPro this flag is meant to avoid partial register stalls. */ +DEF_TUNE (X86_TUNE_HIMODE_MATH, "himode_math", ~m_PPRO) + +/* X86_TUNE_SPLIT_LONG_MOVES: Avoid instructions moving immediates + directly to memory. */ +DEF_TUNE (X86_TUNE_SPLIT_LONG_MOVES, "split_long_moves", m_PPRO) + +/* X86_TUNE_USE_XCHGB: Use xchgb %rh,%rl instead of rolw/rorw $8,rx. */ +DEF_TUNE (X86_TUNE_USE_XCHGB, "use_xchgb", m_PENT4) + +/* X86_TUNE_USE_MOV0: Use "mov $0, reg" instead of "xor reg, reg" to clear + integer register. */ +DEF_TUNE (X86_TUNE_USE_MOV0, "use_mov0", m_K6) + +/* X86_TUNE_NOT_VECTORMODE: On AMD K6, NOT is vector decoded with memory + operand that cannot be represented using a modRM byte. The XOR + replacement is long decoded, so this split helps here as well. */ +DEF_TUNE (X86_TUNE_NOT_VECTORMODE, "not_vectormode", m_K6) + +/* X86_TUNE_AVOID_VECTOR_DECODE: Enable splitters that avoid vector decoded + forms of instructions on K8 targets. */ +DEF_TUNE (X86_TUNE_AVOID_VECTOR_DECODE, "avoid_vector_decode", + m_K8) + +/*****************************************************************************/ +/* This never worked well before. */ +/*****************************************************************************/ + +/* X86_TUNE_BRANCH_PREDICTION_HINTS: Branch hints were put in P4 based + on simulation result. But after P4 was made, no performance benefit + was observed with branch hints. It also increases the code size. + As a result, icc never generates branch hints. */ +DEF_TUNE (X86_TUNE_BRANCH_PREDICTION_HINTS, "branch_prediction_hints", m_NONE) + +/* X86_TUNE_QIMODE_MATH: Enable use of 8bit arithmetic. */ +DEF_TUNE (X86_TUNE_QIMODE_MATH, "qimode_math", m_ALL) + +/* X86_TUNE_PROMOTE_QI_REGS: This enables generic code that promotes all 8bit + arithmetic to 32bit via PROMOTE_MODE macro. This code generation scheme + is usually used for RISC targets. */ +DEF_TUNE (X86_TUNE_PROMOTE_QI_REGS, "promote_qi_regs", m_NONE) + +/* X86_TUNE_EMIT_VZEROUPPER: This enables vzeroupper instruction insertion + before a transfer of control flow out of the function. */ +DEF_TUNE (X86_TUNE_EMIT_VZEROUPPER, "emit_vzeroupper", ~m_KNL) diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h new file mode 100644 index 0000000000..a1fc2c8d0c --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/initfini-array.h @@ -0,0 +1,45 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h new file mode 100644 index 0000000000..f3f28217a9 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-android.h @@ -0,0 +1,59 @@ +/* Configuration file for Linux Android targets. + Copyright (C) 2008-2023 Free Software Foundation, Inc. + Contributed by Doug Kwan (dougkwan@google.com) + Rewritten by CodeSourcery, 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 ANDROID_TARGET_OS_CPP_BUILTINS() \ + do { \ + if (TARGET_ANDROID) \ + builtin_define ("__ANDROID__"); \ + } while (0) + +#if ANDROID_DEFAULT +# define NOANDROID "mno-android" +#else +# define NOANDROID "!mandroid" +#endif + +#define LINUX_OR_ANDROID_CC(LINUX_SPEC, ANDROID_SPEC) \ + "%{" NOANDROID "|tno-android-cc:" LINUX_SPEC ";:" ANDROID_SPEC "}" + +#define LINUX_OR_ANDROID_LD(LINUX_SPEC, ANDROID_SPEC) \ + "%{" NOANDROID "|tno-android-ld:" LINUX_SPEC ";:" ANDROID_SPEC "}" + +#define ANDROID_LINK_SPEC \ + "%{shared: -Bsymbolic}" + +#define ANDROID_CC1_SPEC \ + "%{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}} " \ + "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC}}}}" + +#define ANDROID_CC1PLUS_SPEC \ + "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} " \ + "%{!frtti:%{!fno-rtti: -fno-rtti}}" + +#define ANDROID_LIB_SPEC \ + "%{!static: -ldl}" + +#define ANDROID_STARTFILE_SPEC \ + "%{shared: crtbegin_so%O%s;:" \ + " %{static: crtbegin_static%O%s;: crtbegin_dynamic%O%s}}" + +#define ANDROID_ENDFILE_SPEC \ + "%{shared: crtend_so%O%s;: crtend_android%O%s}" diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h new file mode 100644 index 0000000000..147b4ebdb2 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux-protos.h @@ -0,0 +1,22 @@ +/* Prototypes. + 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 +. */ + +extern bool linux_has_ifunc_p (void); + +extern bool linux_libc_has_function (enum function_class fn_class, tree); diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h new file mode 100644 index 0000000000..e3aca79ccc --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/linux.h @@ -0,0 +1,215 @@ +/* Definitions for systems using the Linux kernel, with or without + MMU, using ELF at the compiler level but possibly FLT for final + linked executables and shared libraries in some no-MMU cases, and + possibly with a choice of libc implementations. + Copyright (C) 1995-2023 Free Software Foundation, Inc. + Contributed by Eric Youngdale. + Modified for stabs-in-ELF by H.J. Lu (hjl@lucon.org). + +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 +. */ + +/* C libraries supported on Linux. */ +#ifdef SINGLE_LIBC +#define OPTION_GLIBC_P(opts) (DEFAULT_LIBC == LIBC_GLIBC) +#define OPTION_UCLIBC_P(opts) (DEFAULT_LIBC == LIBC_UCLIBC) +#define OPTION_BIONIC_P(opts) (DEFAULT_LIBC == LIBC_BIONIC) +#undef OPTION_MUSL_P +#define OPTION_MUSL_P(opts) (DEFAULT_LIBC == LIBC_MUSL) +#else +#define OPTION_GLIBC_P(opts) ((opts)->x_linux_libc == LIBC_GLIBC) +#define OPTION_UCLIBC_P(opts) ((opts)->x_linux_libc == LIBC_UCLIBC) +#define OPTION_BIONIC_P(opts) ((opts)->x_linux_libc == LIBC_BIONIC) +#undef OPTION_MUSL_P +#define OPTION_MUSL_P(opts) ((opts)->x_linux_libc == LIBC_MUSL) +#endif +#define OPTION_GLIBC OPTION_GLIBC_P (&global_options) +#define OPTION_UCLIBC OPTION_UCLIBC_P (&global_options) +#define OPTION_BIONIC OPTION_BIONIC_P (&global_options) +#undef OPTION_MUSL +#define OPTION_MUSL OPTION_MUSL_P (&global_options) + +#define GNU_USER_TARGET_OS_CPP_BUILTINS() \ + do { \ + if (OPTION_GLIBC) \ + builtin_define ("__gnu_linux__"); \ + builtin_define_std ("linux"); \ + builtin_define_std ("unix"); \ + builtin_assert ("system=linux"); \ + builtin_assert ("system=unix"); \ + builtin_assert ("system=posix"); \ + } while (0) + +/* Determine which dynamic linker to use depending on whether GLIBC or + uClibc or Bionic or musl is the default C library and whether + -muclibc or -mglibc or -mbionic or -mmusl has been passed to change + the default. */ + +#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LIBC4, LD1, LD2, LD3, LD4) \ + "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}" + +#if DEFAULT_LIBC == LIBC_GLIBC +#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ + CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", "mmusl", G, U, B, M) +#elif DEFAULT_LIBC == LIBC_UCLIBC +#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ + CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", "mmusl", U, G, B, M) +#elif DEFAULT_LIBC == LIBC_BIONIC +#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ + CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", "mmusl", B, G, U, M) +#elif DEFAULT_LIBC == LIBC_MUSL +#define CHOOSE_DYNAMIC_LINKER(G, U, B, M) \ + CHOOSE_DYNAMIC_LINKER1 ("mmusl", "mglibc", "muclibc", "mbionic", M, G, U, B) +#else +#error "Unsupported DEFAULT_LIBC" +#endif /* DEFAULT_LIBC */ + +/* For most targets the following definitions suffice; + GLIBC_DYNAMIC_LINKER must be defined for each target using them, or + GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets + supporting both 32-bit and 64-bit compilation. */ +#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" +#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0" +#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" +#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0" +#define BIONIC_DYNAMIC_LINKER "/system/bin/linker" +#define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker" +#define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" +#define BIONIC_DYNAMIC_LINKERX32 "/system/bin/linkerx32" +/* Should be redefined for each target that supports musl. */ +#define MUSL_DYNAMIC_LINKER "/dev/null" +#define MUSL_DYNAMIC_LINKER32 "/dev/null" +#define MUSL_DYNAMIC_LINKER64 "/dev/null" +#define MUSL_DYNAMIC_LINKERX32 "/dev/null" + +#define GNU_USER_DYNAMIC_LINKER \ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ + BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) +#define GNU_USER_DYNAMIC_LINKER32 \ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \ + BIONIC_DYNAMIC_LINKER32, MUSL_DYNAMIC_LINKER32) +#define GNU_USER_DYNAMIC_LINKER64 \ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \ + BIONIC_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKER64) +#define GNU_USER_DYNAMIC_LINKERX32 \ + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERX32, UCLIBC_DYNAMIC_LINKERX32, \ + BIONIC_DYNAMIC_LINKERX32, MUSL_DYNAMIC_LINKERX32) + +/* Whether we have Bionic libc runtime */ +#undef TARGET_HAS_BIONIC +#define TARGET_HAS_BIONIC (OPTION_BIONIC) + +/* musl avoids problematic includes by rearranging the include directories. + * Unfortunately, this is mostly duplicated from cppdefault.cc */ +#if DEFAULT_LIBC == LIBC_MUSL +#define INCLUDE_DEFAULTS_MUSL_GPP \ + { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \ + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \ + { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \ + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \ + { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \ + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, + +#ifdef LOCAL_INCLUDE_DIR +#define INCLUDE_DEFAULTS_MUSL_LOCAL \ + { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \ + { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, +#else +#define INCLUDE_DEFAULTS_MUSL_LOCAL +#endif + +#ifdef PREFIX_INCLUDE_DIR +#define INCLUDE_DEFAULTS_MUSL_PREFIX \ + { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0}, +#else +#define INCLUDE_DEFAULTS_MUSL_PREFIX +#endif + +#ifdef CROSS_INCLUDE_DIR +#define INCLUDE_DEFAULTS_MUSL_CROSS \ + { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0}, +#else +#define INCLUDE_DEFAULTS_MUSL_CROSS +#endif + +#ifdef TOOL_INCLUDE_DIR +#define INCLUDE_DEFAULTS_MUSL_TOOL \ + { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0}, +#else +#define INCLUDE_DEFAULTS_MUSL_TOOL +#endif + +#ifdef NATIVE_SYSTEM_HEADER_DIR +#define INCLUDE_DEFAULTS_MUSL_NATIVE \ + { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ + { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 }, +#else +#define INCLUDE_DEFAULTS_MUSL_NATIVE +#endif + +#if defined (CROSS_DIRECTORY_STRUCTURE) && !defined (TARGET_SYSTEM_ROOT) +# undef INCLUDE_DEFAULTS_MUSL_LOCAL +# define INCLUDE_DEFAULTS_MUSL_LOCAL +# undef INCLUDE_DEFAULTS_MUSL_NATIVE +# define INCLUDE_DEFAULTS_MUSL_NATIVE +#else +# undef INCLUDE_DEFAULTS_MUSL_CROSS +# define INCLUDE_DEFAULTS_MUSL_CROSS +#endif + +#undef INCLUDE_DEFAULTS +#define INCLUDE_DEFAULTS \ + { \ + INCLUDE_DEFAULTS_MUSL_GPP \ + INCLUDE_DEFAULTS_MUSL_LOCAL \ + INCLUDE_DEFAULTS_MUSL_PREFIX \ + INCLUDE_DEFAULTS_MUSL_CROSS \ + INCLUDE_DEFAULTS_MUSL_TOOL \ + INCLUDE_DEFAULTS_MUSL_NATIVE \ + { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ + { 0, 0, 0, 0, 0, 0 } \ + } +#endif + +#if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ +/* This is a *uclinux* target. We don't define below macros to normal linux + versions, because doing so would require *uclinux* targets to include + linux.cc, linux-protos.h, linux.opt, etc. We could, alternatively, add + these files to *uclinux* targets, but that would only pollute option list + (add -mglibc, etc.) without adding any useful support. */ + +/* Define TARGET_LIBC_HAS_FUNCTION for *uclinux* targets to + no_c99_libc_has_function, because uclibc does not, normally, have + c99 runtime. If, in special cases, uclibc does have c99 runtime, + this should be defined to a new hook. Also please note that for targets + like *-linux-uclibc that similar check will also need to be added to + linux_libc_has_function. */ +# undef TARGET_LIBC_HAS_FUNCTION +# define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function + +#else /* !uClinux, i.e., normal Linux */ + +/* Determine what functions are present at the runtime; + this includes full c99 runtime and sincos. */ +# undef TARGET_LIBC_HAS_FUNCTION +# define TARGET_LIBC_HAS_FUNCTION linux_libc_has_function + +#endif diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h new file mode 100644 index 0000000000..53704a5ece --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/config/vxworks-dummy.h @@ -0,0 +1,48 @@ +/* Dummy definitions of VxWorks-related macros + 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. + +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 +. */ + +/* True if we're targeting VxWorks, VxWorks7 and/or 64bit. */ +#ifndef TARGET_VXWORKS +#define TARGET_VXWORKS 0 +#endif + +#ifndef TARGET_VXWORKS7 +#define TARGET_VXWORKS7 0 +#endif + +#ifndef TARGET_VXWORKS64 +#define TARGET_VXWORKS64 0 +#endif + +/* True if generating code for a VxWorks RTP. */ +#ifndef TARGET_VXWORKS_RTP +#define TARGET_VXWORKS_RTP false +#endif + +/* The symbol that points to an RTP's table of GOTs. */ +#define VXWORKS_GOTT_BASE (gcc_unreachable (), "") + +/* The symbol that holds the index of the current module's GOT in + VXWORKS_GOTT_BASE. */ +#define VXWORKS_GOTT_INDEX (gcc_unreachable (), "") diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h new file mode 100644 index 0000000000..68e4b7f3cf --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/configargs.h @@ -0,0 +1,7 @@ +/* Generated automatically. */ +static const char configuration_arguments[] = "../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04.1' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-EldibY/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { "abi", "m64" }, { "cpu", "generic" }, { "arch_32", "i686" }, { "arch_64", "x86-64" }, { "tune", "generic" } }; diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h new file mode 100644 index 0000000000..ad921f2eba --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/context.h @@ -0,0 +1,69 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h new file mode 100644 index 0000000000..5351e820d9 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/convert.h @@ -0,0 +1,45 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h new file mode 100644 index 0000000000..ca8837cef6 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coretypes.h @@ -0,0 +1,495 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def new file mode 100644 index 0000000000..6ba10b1cf9 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coroutine-builtins.def @@ -0,0 +1,53 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h new file mode 100644 index 0000000000..504a235487 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/coverage.h @@ -0,0 +1,61 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h new file mode 100644 index 0000000000..a5bbd8b598 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/contracts.h @@ -0,0 +1,305 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def new file mode 100644 index 0000000000..bac593c009 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-trait.def @@ -0,0 +1,108 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def new file mode 100644 index 0000000000..0e66ca70e0 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.def @@ -0,0 +1,600 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h new file mode 100644 index 0000000000..53e8f6fc0e --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cp-tree.h @@ -0,0 +1,8845 @@ +/* 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; + BOOL_BITFIELD backward_goto : 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 templated variable, was declared 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 tree maybe_prepare_return_this (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, bool); +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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h new file mode 100644 index 0000000000..2e4655e1b9 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/cxx-pretty-print.h @@ -0,0 +1,117 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h new file mode 100644 index 0000000000..b3e708561d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/name-lookup.h @@ -0,0 +1,502 @@ +/* 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 bool maybe_push_to_top_level (tree); +extern void maybe_pop_from_top_level (bool); +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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def new file mode 100644 index 0000000000..e9481752f9 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/operators.def @@ -0,0 +1,163 @@ +/* -*-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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h new file mode 100644 index 0000000000..5f67ba21c4 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cp/type-utils.h @@ -0,0 +1,54 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h new file mode 100644 index 0000000000..84daf5a97d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppbuiltin.h @@ -0,0 +1,33 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h new file mode 100644 index 0000000000..e26b424e99 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cppdefault.h @@ -0,0 +1,76 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h new file mode 100644 index 0000000000..b8e50ae15b --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cpplib.h @@ -0,0 +1,1606 @@ +/* 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 COLON_SCOPE PURE_ZERO /* Adjacent colons in C < 23. */ +#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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h new file mode 100644 index 0000000000..e2fa8e8c2c --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/cselib.h @@ -0,0 +1,143 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h new file mode 100644 index 0000000000..bf1841a7fc --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ctfc.h @@ -0,0 +1,450 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def new file mode 100644 index 0000000000..32e58df2be --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/d/d-tree.def @@ -0,0 +1,29 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h new file mode 100644 index 0000000000..d8c7e21dad --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/data-streamer.h @@ -0,0 +1,349 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def new file mode 100644 index 0000000000..9e2f1d857b --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.def @@ -0,0 +1,217 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h new file mode 100644 index 0000000000..3ff43fcb66 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dbgcnt.h @@ -0,0 +1,40 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h new file mode 100644 index 0000000000..2f1602ab04 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dce.h @@ -0,0 +1,27 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h new file mode 100644 index 0000000000..0583fa1387 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ddg.h @@ -0,0 +1,182 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h new file mode 100644 index 0000000000..05512bce48 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/debug.h @@ -0,0 +1,281 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h new file mode 100644 index 0000000000..dc6f09caca --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/defaults.h @@ -0,0 +1,1464 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h new file mode 100644 index 0000000000..aec2223591 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/df.h @@ -0,0 +1,1253 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h new file mode 100644 index 0000000000..fc20340550 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dfp.h @@ -0,0 +1,50 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h new file mode 100644 index 0000000000..5f8b9a2529 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-client-data-hooks.h @@ -0,0 +1,105 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h new file mode 100644 index 0000000000..213fd5ab4f --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-color.h @@ -0,0 +1,65 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h new file mode 100644 index 0000000000..7334c79e8e --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-core.h @@ -0,0 +1,128 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h new file mode 100644 index 0000000000..84f4b65611 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-event-id.h @@ -0,0 +1,61 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h new file mode 100644 index 0000000000..8e06c89d74 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-metadata.h @@ -0,0 +1,85 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h new file mode 100644 index 0000000000..9d9d6296eb --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-path.h @@ -0,0 +1,234 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h new file mode 100644 index 0000000000..5632689506 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-spec.h @@ -0,0 +1,142 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h new file mode 100644 index 0000000000..93f0a69aa4 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic-url.h @@ -0,0 +1,52 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def new file mode 100644 index 0000000000..813b8daa4c --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.def @@ -0,0 +1,55 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h new file mode 100644 index 0000000000..9a51097f14 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/diagnostic.h @@ -0,0 +1,622 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h new file mode 100644 index 0000000000..c880739eee --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/digraph.h @@ -0,0 +1,246 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h new file mode 100644 index 0000000000..a41e377f53 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/distro-defaults.h @@ -0,0 +1,15 @@ +/* distro specific configuration injected by the distro build. */ + +#ifndef ACCEL_COMPILER +#define DIST_DEFAULT_ASYNC_UNWIND 1 +#define DIST_DEFAULT_SSP 1 +#define DIST_DEFAULT_SSP_STRONG 1 +#define DIST_DEFAULT_FORMAT_SECURITY 1 +#define DIST_DEFAULT_FORTIFY_SOURCE 3 +#define DIST_DEFAULT_FORTIFY_SOURCE_S "3" +#define DIST_DEFAULT_RELRO 1 +#define DIST_DEFAULT_BIND_NOW 1 +#define DIST_DEFAULT_STACK_CLASH 1 +#define DIST_DEFAULT_CF_PROTECTION 1 +#define DIST_DEFAULT_PKG_METADATA_SPEC 1 +#endif diff --git a/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h new file mode 100644 index 0000000000..5217a9af6a --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dojump.h @@ -0,0 +1,82 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h new file mode 100644 index 0000000000..ddac0f5805 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dominance.h @@ -0,0 +1,94 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h new file mode 100644 index 0000000000..d518d08d7c --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/domwalk.h @@ -0,0 +1,115 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h new file mode 100644 index 0000000000..41abe847bc --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/double-int.h @@ -0,0 +1,470 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h new file mode 100644 index 0000000000..c9aeac1767 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dump-context.h @@ -0,0 +1,305 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h new file mode 100644 index 0000000000..7d5eca899d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dumpfile.h @@ -0,0 +1,774 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h new file mode 100644 index 0000000000..37a0a05e5b --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2asm.h @@ -0,0 +1,100 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h new file mode 100644 index 0000000000..a5f645a211 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2ctf.h @@ -0,0 +1,55 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h new file mode 100644 index 0000000000..870b56a6a3 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/dwarf2out.h @@ -0,0 +1,470 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h new file mode 100644 index 0000000000..f2e69a664d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/edit-context.h @@ -0,0 +1,67 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h new file mode 100644 index 0000000000..c472c736cb --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/emit-rtl.h @@ -0,0 +1,548 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h new file mode 100644 index 0000000000..a621bb4e04 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/errors.h @@ -0,0 +1,40 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h new file mode 100644 index 0000000000..f1c0d7e750 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/escaped_string.h @@ -0,0 +1,43 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h new file mode 100644 index 0000000000..157b6af779 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/et-forest.h @@ -0,0 +1,85 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h new file mode 100644 index 0000000000..5ecdbc0d1d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/except.h @@ -0,0 +1,334 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h new file mode 100644 index 0000000000..2db4f5c0de --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/explow.h @@ -0,0 +1,143 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h new file mode 100644 index 0000000000..c747a0da16 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expmed.h @@ -0,0 +1,728 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h new file mode 100644 index 0000000000..0c059ed902 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/expr.h @@ -0,0 +1,364 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h new file mode 100644 index 0000000000..17c360ef27 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fibonacci_heap.h @@ -0,0 +1,684 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h new file mode 100644 index 0000000000..95f2b3b282 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-find.h @@ -0,0 +1,47 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h new file mode 100644 index 0000000000..23dce0cabd --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/file-prefix-map.h @@ -0,0 +1,31 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h new file mode 100644 index 0000000000..444c5cc411 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/filenames.h @@ -0,0 +1,100 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h new file mode 100644 index 0000000000..8d1002ac6f --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fixed-value.h @@ -0,0 +1,111 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h new file mode 100644 index 0000000000..78dbdbe90d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flag-types.h @@ -0,0 +1,508 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h new file mode 100644 index 0000000000..e4bafa310d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/flags.h @@ -0,0 +1,117 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h new file mode 100644 index 0000000000..ccb8f6db9f --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const-call.h @@ -0,0 +1,28 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h new file mode 100644 index 0000000000..56ecaa87fc --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/fold-const.h @@ -0,0 +1,276 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h new file mode 100644 index 0000000000..379e2351f9 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function-abi.h @@ -0,0 +1,320 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h new file mode 100644 index 0000000000..d4ce8a7c6c --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/function.h @@ -0,0 +1,728 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h new file mode 100644 index 0000000000..730aae7ee8 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-plugin.h @@ -0,0 +1,47 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h new file mode 100644 index 0000000000..ffba4b8abc --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-rich-location.h @@ -0,0 +1,226 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h new file mode 100644 index 0000000000..3602ad6860 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc-symtab.h @@ -0,0 +1,28 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h new file mode 100644 index 0000000000..19a61b373e --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcc.h @@ -0,0 +1,100 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def new file mode 100644 index 0000000000..727ef42418 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-counter.def @@ -0,0 +1,51 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h new file mode 100644 index 0000000000..bfe4439d02 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcov-io.h @@ -0,0 +1,394 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h new file mode 100644 index 0000000000..210188000c --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse-common.h @@ -0,0 +1,47 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h new file mode 100644 index 0000000000..5582b29eec --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gcse.h @@ -0,0 +1,45 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h new file mode 100644 index 0000000000..8b1f92591a --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/generic-match.h @@ -0,0 +1,33 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h new file mode 100644 index 0000000000..4e5df544fb --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gengtype.h @@ -0,0 +1,521 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h new file mode 100644 index 0000000000..a425e24bfd --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/genrtl.h @@ -0,0 +1,1678 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h new file mode 100644 index 0000000000..a1edfbd719 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gensupport.h @@ -0,0 +1,228 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h new file mode 100644 index 0000000000..25e6ce66eb --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc-internal.h @@ -0,0 +1,115 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h new file mode 100644 index 0000000000..78eab7eaba --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/ggc.h @@ -0,0 +1,371 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h new file mode 100644 index 0000000000..13e5f29dab --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-array-bounds.h @@ -0,0 +1,49 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h new file mode 100644 index 0000000000..f9dd9fb88a --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-builder.h @@ -0,0 +1,36 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h new file mode 100644 index 0000000000..e89f7e20fc --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-expr.h @@ -0,0 +1,179 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h new file mode 100644 index 0000000000..2fd58db9a2 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-fold.h @@ -0,0 +1,281 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h new file mode 100644 index 0000000000..8a1bba49f8 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-iterator.h @@ -0,0 +1,417 @@ +/* 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_safe_insert_before (gimple_stmt_iterator *, gimple *); +extern void gsi_safe_insert_seq_before (gimple_stmt_iterator *, 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h new file mode 100644 index 0000000000..8587c28804 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-low.h @@ -0,0 +1,28 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h new file mode 100644 index 0000000000..b20585dca4 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-match.h @@ -0,0 +1,338 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h new file mode 100644 index 0000000000..09ceebc55a --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predicate-analysis.h @@ -0,0 +1,175 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h new file mode 100644 index 0000000000..6c085a93ea --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-predict.h @@ -0,0 +1,91 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h new file mode 100644 index 0000000000..dd7c4a3aac --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-pretty-print.h @@ -0,0 +1,41 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h new file mode 100644 index 0000000000..4ff435dc5c --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-cache.h @@ -0,0 +1,121 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h new file mode 100644 index 0000000000..bb0de1b1d3 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-edge.h @@ -0,0 +1,58 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h new file mode 100644 index 0000000000..68c6d7743e --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-fold.h @@ -0,0 +1,173 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h new file mode 100644 index 0000000000..3ea4b45595 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-gori.h @@ -0,0 +1,229 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h new file mode 100644 index 0000000000..3c85e29c0b --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-infer.h @@ -0,0 +1,86 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h new file mode 100644 index 0000000000..1bf63c5ce6 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-op.h @@ -0,0 +1,55 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h new file mode 100644 index 0000000000..e8b06b60e6 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-path.h @@ -0,0 +1,115 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h new file mode 100644 index 0000000000..625d0be90c --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range-trace.h @@ -0,0 +1,78 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h new file mode 100644 index 0000000000..7ed4d3870b --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-range.h @@ -0,0 +1,103 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h new file mode 100644 index 0000000000..a8a2918f0b --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-access.h @@ -0,0 +1,48 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h new file mode 100644 index 0000000000..722a895514 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa-warn-restrict.h @@ -0,0 +1,29 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h new file mode 100644 index 0000000000..604af8b96b --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-ssa.h @@ -0,0 +1,201 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h new file mode 100644 index 0000000000..83d62ae03d --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-streamer.h @@ -0,0 +1,34 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h new file mode 100644 index 0000000000..c0222e02a5 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple-walk.h @@ -0,0 +1,101 @@ +/* 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/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def new file mode 100644 index 0000000000..274350d953 --- /dev/null +++ b/research/h25-gcc-generated-config-data/unit03/source-artifacts/plugin-members/usr/lib/gcc/x86_64-linux-gnu/13/plugin/include/gimple.def @@ -0,0 +1,413 @@ +/* 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